
Как бы вы сверстали?
Он уже есть сверстанный моим верстальщиком, но очень неудобно.. Мне кажется как-то лучше мб можно.
Вот как бы сверстали такой таб вы?
Спустя 8 минут, 55 секунд (27.04.2012 - 15:55) TranceIT написал(а):
обычный ul li с float: left, с наездом друг на друга.
Спустя 1 минута, 28 секунд (27.04.2012 - 15:57) vital написал(а):
Вот про наезд подробнее - как li наложить друг на друга?, и если можно линиями как резать картинки.
Спустя 11 секунд (27.04.2012 - 15:57) m4a1fox написал(а):
TranceIT
Я бы применил не float а display: inline; или display: inline-block;
ИМХО.
Я бы применил не float а display: inline; или display: inline-block;
ИМХО.
Цитата |
наезд подробнее |
Думаю TranceIT имел ввиду margin-left: -20px;
Спустя 2 минуты, 12 секунд (27.04.2012 - 15:59) m4a1fox написал(а):
vital
А вообще, задачка хороша, и часто используемая. Ща займусь. часа 2 есть у меня...
А вообще, задачка хороша, и часто используемая. Ща займусь. часа 2 есть у меня...
Спустя 1 минута, 35 секунд (27.04.2012 - 16:01) vital написал(а):
Цитата (m4a1fox @ 27.04.2012 - 15:59) |
vital А вообще, задачка хороша, и часто используемая. Ща займусь. часа 2 есть у меня... |
Если сделаешь с меня печеньки. Ибо очень надо, но без того гемора с классами, к-й есть сейчас.
А я даун в верстке.
Спустя 53 секунды (27.04.2012 - 16:02) TranceIT написал(а):
Спустя 1 минута, 34 секунды (27.04.2012 - 16:03) m4a1fox написал(а):
vital
Как ты смотришь на css3?
Как ты смотришь на css3?
Спустя 3 минуты, 12 секунд (27.04.2012 - 16:06) vital написал(а):
Цитата |
Я вижу одну картинку с разным текстом... |
Ну еще активный таб.
А вообще у меня сейчас для этого таба 6 картинок и куча цсс классов. Что не ок совсем.
Цитата |
Как ты смотришь на css3? |
Не очень. Прилага будет юзаться, предположительно, в гос организациях.. со всеми вытекающими.
Спустя 3 минуты, 42 секунды (27.04.2012 - 16:10) stomp написал(а):
Цитата (m4a1fox @ 27.04.2012 - 13:59) |
vital А вообще, задачка хороша, и часто используемая. Ща займусь. часа 2 есть у меня... |
ну как? удалось? покажешь?
Спустя 5 секунд (27.04.2012 - 16:10) TranceIT написал(а):
vital
По сути должно быть 2 класса.
Один для неактивного пункта, другой для активного.
По сути должно быть 2 класса.
Один для неактивного пункта, другой для активного.
Спустя 1 минута, 8 секунд (27.04.2012 - 16:11) vital написал(а):
Цитата (TranceIT @ 27.04.2012 - 16:10) |
vital По сути должно быть 2 класса. Один для неактивного пункта, другой для активного. |
Вот я тоже так думаю.
Но у меня 6 картинок и 6 классов. Не ок совсем.
Спустя 6 минут, 53 секунды (27.04.2012 - 16:18) TranceIT написал(а):
Сейчас накидаю.
Спустя 4 минуты, 38 секунд (27.04.2012 - 16:23) Guest написал(а):
z-index по порядку, у 1го элемента она N, у 2го N+1, у 3го +2, у 4го +3....
У активного - больше всех.
У активного - больше всех.
Спустя 50 секунд (27.04.2012 - 16:24) Guest написал(а):
точнее -1, а не +1, для "закрытия"
Спустя 6 минут, 33 секунды (27.04.2012 - 16:30) TranceIT написал(а):

Свернутый текст
<html>
<head>
<style>
li {
width: 176px;
height: 25px;
border: #000 1px solid;
float: right;
margin-left: -30px;
}
li div {
position: absolute;
width: 176;
height: 25px;
background: url('./pic2.png') no-repeat;
}
li div.active{
z-index: 10;
background: url('./pic.png') no-repeat;
}
</style>
</head>
<body>
<ul>
<li><div></div></li>
<li><div></div></li>
<li><div></div></li>
<li><div></div></li>
<li><div class="active"></div></li>
<li><div></div></li>
<li><div></div></li>
</ul>
<body>
</html>
Не заморачивался с прозрачным фоном. Если сделать прозрачный фон, то получим как раз то что нужно:
1) Наезд друг на друга.
2) Активная ссылка поверх всех.
http://files.mail.ru/BYY1E6
Проверял в Хроме и последнем ФФ.
Спустя 2 минуты, 51 секунда (27.04.2012 - 16:33) TranceIT написал(а):
Цитата (Guest @ 27.04.2012 - 16:23) |
z-index по порядку, у 1го элемента она N, у 2го N+1, у 3го +2, у 4го +3.... У активного - больше всех. |
На 50 ссылок 50 классов создавать?
Не факт, что в гос структуре разрешат js юзать...
Спустя 23 минуты, 9 секунд (27.04.2012 - 16:56) vital написал(а):
TranceIT
Шикарно, спасибо.
Один только вопрос.
http://awesomescreenshot.com/03b4fr5e1
т.е LI в обратном порядке получились.
Как-то странно.. Как починить их порядок?
Шикарно, спасибо.
Один только вопрос.
<li><div>1</div></li>
<li><div>2</div></li>
<li><div>3</div></li>
<li><div>4</div></li>
<li><div class="active">5</div></li>
<li><div>6</div></li>
<li><div>7</div></li>
http://awesomescreenshot.com/03b4fr5e1
т.е LI в обратном порядке получились.
Как-то странно.. Как починить их порядок?
Спустя 6 минут, 12 секунд (27.04.2012 - 17:03) vital написал(а):
Если поставить float:left, то они в нужном порядке, но не накладываются сверху =(
Спустя 3 минуты, 47 секунд (27.04.2012 - 17:06) TranceIT написал(а):
Как по другому сделать я пока еще не знаю.
Хотя...
UPD:
Не... Было мимолетное озарение, но не для подобного случая...
Думаю обратный порядок это менее существенно, чем куча классов и картинок...
Хотя...
UPD:
Не... Было мимолетное озарение, но не для подобного случая...
Думаю обратный порядок это менее существенно, чем куча классов и картинок...
Спустя 1 минута, 20 секунд (27.04.2012 - 17:08) vital написал(а):
Цитата (TranceIT @ 27.04.2012 - 17:06) |
Как по другому сделать я пока еще не знаю. |
То что есть - тоже классно. Это лучше чем то, что было.
Просто табы генерятся динамически в зависимости от ряда факторов, и их порядок важен.
Спустя 10 минут, 48 секунд (27.04.2012 - 17:18) TranceIT написал(а):
Можно конечно порезать немного по другому. Отдельно первый таб, отдельно последний, остальные захватывая начало следующего таба, но тогда выравнивание текста в них превратится в ад. Это наверно именно то, что сделал ваш верстальщик =)
Спустя 3 минуты, 39 секунд (27.04.2012 - 17:22) m4a1fox написал(а):
В общем, задачка не так просто как кажется...
Вот что получилось

Есть смысл код давать? Только html+css, и чуточку css3
Вот что получилось

Есть смысл код давать? Только html+css, и чуточку css3

Спустя 41 секунда (27.04.2012 - 17:23) TranceIT написал(а):
m4a1fox
Давай, мне интересно.
Давай, мне интересно.
Спустя 3 минуты, 23 секунды (27.04.2012 - 17:26) m4a1fox написал(а):
TranceIT
Ага... ща лошить будешь :)
Итак, код
css
Ага... ща лошить будешь :)
Итак, код
<div class="menu">
<ul>
<li id="selected">Заполнение форм</li><div class="after" id="act"></div>
<li>Отчеты по сети ОУ</li><div class="after"></div>
<li>Редактор показателей</li><div class="after"></div>
<li>Редактор справочников</li><div class="after"></div>
<li>Конструктор форм</li><div class="after"></div>
</ul>
</div>
<div id="content"></div>
css
.menu ul{
color: #698AA3;
list-style: none;
}
.menu ul li{
border-radius: 5px 0 0 0;
display: inline-block;
background-color: #FBFDFF;
padding: 0 15px;
line-height: 30px;
height: 30px;
vertical-align: top;
margin-left: -7px;
}
.after{
display: inline-block;
border-right: 20px solid transparent;
border-bottom: 30px solid #FBFDFF;
vertical-align: top;
}
#act{
display: inline-block;
border-right: 20px solid transparent;
border-bottom: 30px solid #B6CDDD;
vertical-align: top;
}
#selected{
font-weight: bold;
text-shadow: 1px 1px 0 white;
background: #B6CDDD;
border-radius: 0;
}
#content{
margin-top: -16px;
min-height: 100px;
background: #B6CDDD;
}
Спустя 41 минута, 7 секунд (27.04.2012 - 18:07) vital написал(а):
Цитата (TranceIT @ 27.04.2012 - 17:18) |
Можно конечно порезать немного по другому. Отдельно первый таб, отдельно последний, остальные захватывая начало следующего таба, но тогда выравнивание текста в них превратится в ад. Это наверно именно то, что сделал ваш верстальщик =) |
Он сделал картинку на первый таб, картинку на первый активный таб, картинку на таб перед активным, картинку на активный таб, картинку таба после активного таба, картинку на последний таб, картинку на последний активынй таб. =\
Спустя 51 секунда (27.04.2012 - 18:08) m4a1fox написал(а):
vital
Цитата |
Он сделал картинку на первый таб, картинку на первый активный таб, картинку на таб перед активным, картинку на активный таб, картинку таба после активного таба, картинку на последний таб, картинку на последний активынй таб. =\ |
Хех... так не долго и в рекурсию уйти.

Спустя 7 минут, 21 секунда (27.04.2012 - 18:15) TranceIT написал(а):
vital
Ну да... Именно это я и имел ввиду.
Кстати порядок вывода правильный.
При left элементы выводятся по порядку слева направо.
При right по порядку справа налево.
А визуально получается путаница.
В принципе в коде выстраиваем как нам нужно не напрягая мозг порядком, а перед выводом сортируем в обратном порядке. Ну я думаю вы сами до этого додумались
Ну да... Именно это я и имел ввиду.
Кстати порядок вывода правильный.
При left элементы выводятся по порядку слева направо.
При right по порядку справа налево.
А визуально получается путаница.
В принципе в коде выстраиваем как нам нужно не напрягая мозг порядком, а перед выводом сортируем в обратном порядке. Ну я думаю вы сами до этого додумались

Спустя 6 минут, 55 секунд (27.04.2012 - 18:22) vital написал(а):
Цитата (TranceIT @ 27.04.2012 - 18:15) |
vital Ну да... Именно это я и имел ввиду. Кстати порядок вывода правильный. При left элементы выводятся по порядку слева направо. При right по порядку справа налево. А визуально получается путаница. В принципе в коде выстраиваем как нам нужно не напрягая мозг порядком, а перед выводом сортируем в обратном порядке. Ну я думаю вы сами до этого додумались ![]() |
Да, конечно.
Спасибо еще раз.
m4a1fox
Тоже.
Спустя 7 часов, 48 минут, 24 секунды (28.04.2012 - 02:11) sebastjan написал(а):
Есть плагин PIC.
Весит 30кб для вкусностей ЦСС3.
http://css3pie.com/
Охрененная штука.
Если хочешь чтоб кнопы немного наезжали друг на друга, самое простое приметь ПНГ картинки,
можно с фильтром как по тсринке, чтоб старечки типа ИЕ6 работали с прозрачность.
Но лучше пользовать плагин PIC, весит фигня.
Да и тени и градиенты и закругление всё кросброузерно будет, без заморочек.
По вёрстке пробемм не увидел.
Ну я списки не использую. Нафиг лишнии теги плодить.
Весит 30кб для вкусностей ЦСС3.
http://css3pie.com/
Охрененная штука.
Если хочешь чтоб кнопы немного наезжали друг на друга, самое простое приметь ПНГ картинки,
можно с фильтром как по тсринке, чтоб старечки типа ИЕ6 работали с прозрачность.
*HTML .ххх{
background:none;width:409px;/* надо указать ширину слоя на котором бг фоном картинка будет*/
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader (src='img/logo.png', sizingMethod='scale');}
Но лучше пользовать плагин PIC, весит фигня.
Да и тени и градиенты и закругление всё кросброузерно будет, без заморочек.
По вёрстке пробемм не увидел.
Ну я списки не использую. Нафиг лишнии теги плодить.
Спустя 8 часов, 51 минута, 3 секунды (28.04.2012 - 11:02) Guest написал(а):
Цитата |
На 50 ссылок 50 классов создавать? Не факт, что в гос структуре разрешат js юзать... |
А кто меню делает статическим.
Имеем массив с меню, где могут быть любые параметры. Считаем размер массива+1, это будет 1й элемент, далее в цикле выводить остальные с Индексом -1 каждый раз. На current - вешать соотв класс и з-индекс максимальный.
С динамеческим меню это вообще не проблема, а меню таким и должно быть.
Так что хоть 2 хоть 50 результат одинаковый. Циклу на это наплевать
Спустя 18 секунд (28.04.2012 - 11:02) Guest написал(а):
и причём тут вообще JS? Он там не нужен
Спустя 1 час, 11 минут, 20 секунд (28.04.2012 - 12:13) TranceIT написал(а):
Цитата (Guest @ 28.04.2012 - 11:02) |
и причём тут вообще JS? Он там не нужен |
Без JS? $count-- и style=""?
Покажите мне того, кто вас этому научил, я первый брошу в него камень!
Спустя 28 минут, 19 секунд (28.04.2012 - 12:42) Guest написал(а):
контроллер
Вьюха:
Это кусок из реального сайта, слегка переделанный под текущие требования
Вместо камней - запасись разными алгоритмами реализации
function getGradientNavigation($id){
$place = $this->controller->RemaketownPlace->getById($id);
if(!isset($place['id'])) $this->redirect('towns/world');
$this->controller->set('place',$place);
$nav_array = array();
$nav_array[] = array('title'=>__d(self::DOMAIN,'TXT_SUMMARY',true) ,'rows'=>'one','link'=>'towns/place/'.$id);
$nav_array[] = array('title'=>__d(self::DOMAIN,'TXT_ROYALTY_CLAIMS',true) ,'rows'=>'two','link'=>'towns/claims/'.$id);
$nav_array[] = array('title'=>__d(self::DOMAIN,'TXT_SKILLZ_CHALLENGES',true) ,'rows'=>'two','link'=>'towns/skill_challenges/'.$id);
$nav_array[] = array('title'=>__d(self::DOMAIN,'TXT_TIPS_COMMENTS',true) ,'rows'=>'two','link'=>'towns/comments/'.$id);
$nav_array[] = array('title'=>__d(self::DOMAIN,'TXT_EXPLORES_CHECKINS',true) ,'rows'=>'two','link'=>'towns/checkins/'.$id);
$nav_array[] = array('title'=>__d(self::DOMAIN,'TXT_FRINDS_CONNECTS',true) ,'rows'=>'two','link'=>'towns/friends/'.$id);
$nav_array[] = array('title'=>__d(self::DOMAIN,'TXT_WALL',true) ,'rows'=>'one','link'=>'towns/place_wall/'.$id);
$this->controller->set('nav_array', $nav_array);
$this->controller->set('current_nav', 2);
$this->controller->set('count_element', count($nav_array));
}
Вьюха:
<?php foreach($nav_array as $nav_element):?>
//Вывод и любая обработка, так же с инкриментом. Без JS
<?php endforeach; ?>
Это кусок из реального сайта, слегка переделанный под текущие требования
Вместо камней - запасись разными алгоритмами реализации
Спустя 10 минут, 33 секунды (28.04.2012 - 12:52) TranceIT написал(а):
//Вывод и любая обработка, так же с инкриментом. Без JS
Вот главное как раз и не показал.
Цитата (Guest @ 28.04.2012 - 12:42) |
Вместо камней - запасись разными алгоритмами реализации |
Я ими не запасаюсь, я их пишу. Померяемся письками?
Спустя 5 минут, 5 секунд (28.04.2012 - 12:57) Guest написал(а):
Тоже мне, главное. Вывод данных это крайне сложно:
В этом участке мне необходимо смотреть последний и первый элемент, они разные. В конкретной задаче - сие не нужно
Добавляется ручной стайл
А именно
<li ..... style="z-index:<?=$count_array-$i?>" > Добавив обработчик активной квладки. Это надеюсь не надо показывать как
<?php
$last_element = end($nav_array);
$i = 1;
?>
<ul class="navigation_list">
<?php foreach($nav_array as $element):?>
<?php
$is_last = ($last_element['title']==$element['title'])? 'gradient_last':'';
$is_active = ($gradient_nav==$i)? 'gradient_current':'';
$is_current_left = ($i+1==$gradient_nav)? 'gradient_left_current':'';
$i++;
?>
<li class="gradient_navagation <?=$is_last?> <?=$is_active?> <?=$is_current_left?> gradient_<?=$element['rows']?>_rows">
<?=$this->Design->link($element['title'], $element['link'])?>
</li>
<?php endforeach;?>
</ul>
В этом участке мне необходимо смотреть последний и первый элемент, они разные. В конкретной задаче - сие не нужно
Добавляется ручной стайл
А именно
<li ..... style="z-index:<?=$count_array-$i?>" > Добавив обработчик активной квладки. Это надеюсь не надо показывать как
Спустя 10 минут (28.04.2012 - 13:07) TranceIT написал(а):
<li class="gradient_navagation <?=$is_last?> <?=$is_active?> <?=$is_current_left?> gradient_<?=$element['rows']?>_rows">
На каждый чих свой класс???
Спустя 4 минуты (28.04.2012 - 13:11) Guest написал(а):
Это конкретный СВОЙ случай, для динамического меню, которое может быть всегда разное.
Учитывая требования вёрстки в МОЁМ примере, только так и надо.
В конкретном случае будет 1 класс это is_active и в стайл задать з-индекс
Учитывая требования вёрстки в МОЁМ примере, только так и надо.
В конкретном случае будет 1 класс это is_active и в стайл задать з-индекс
Спустя 1 минута, 37 секунд (28.04.2012 - 13:13) TranceIT написал(а):
Я понимаю что случай конкретный. Но в теме как раз хотели избавиться от множества классов.
Спустя 4 минуты, 9 секунд (28.04.2012 - 13:17) Guest написал(а):
да какое "множество классов". Класс 1, который будет отвечать за то, активная эта вкладка или нет.
Ибо в текущем примере ТСа нету различия между 1м и последним элементом. Они все одинаковые, отличаются только тем, что последующий налазит на предыдущий, что решается позиционированием оных
А то что в моём примере класса 3 это мне лень было их вырезать под текущую задачу
Ибо в текущем примере ТСа нету различия между 1м и последним элементом. Они все одинаковые, отличаются только тем, что последующий налазит на предыдущий, что решается позиционированием оных
А то что в моём примере класса 3 это мне лень было их вырезать под текущую задачу
_____________
"Нужно быть готовым прислушиваться к тем, кто может тебя чему-нибудь научить. Иначе ты никогда не вырастешь."
Откровенно я никому ниразу не нагрубил. А дать подзатыльник зарвавшемуся юнцу, так это и ему на пользу, и мне в удовольствие. © AllesKlar