Jump to content
  • 0

Fieldset в Firesfox


Deacon
 Share

Question

Элемент Fieldset в Firefox 3.5 уходит вверх. Во всех остальных браузерах всё идеально одинаково.

Какое может быть решение проблемы?

Открываем в Firefox, чтобы увидеть проблему

CSS прямо в исходном коде смотрите.

Edited by Deacon
Link to comment
Share on other sites

Recommended Posts

  • 0

Ну кстати я нашёл на каком-то английском форуме, где была ссылка на какую-то спецификацию, и чел указал на то, что align дейстует только: bottom, top, middle.

Ладно, перечтаю ещё несколько раз, что ты написал, может яснее станет. В принципе я пока на float поменял у пунктов меню всех, вместол display:inline, но всё равно, если не сильно на глаз смотреть, то разница есть. :)

Link to comment
Share on other sites

  • 0
Ладно, перечтаю ещё несколько раз, что ты написал, может яснее станет. В принципе я пока на float поменял у пунктов меню всех, вместол display:inline, но всё равно, если не сильно на глаз смотреть, то разница есть. :)

Вообще для такого случая использовать fieldset как-то странно. Тем более без legend

Link to comment
Share on other sites

  • 0
Вообще для такого случая использовать fieldset как-то странно. Тем более без legend

А что правильнее будет использовать? Подскажи, плиз.

Если вдруг у меня Fieldset оставнется, то legend вставить и display: none на неё? Или как, если визуально она мне не нужна.

Link to comment
Share on other sites

  • 0
А что правильнее будет использовать? Подскажи, плиз.

Если вдруг у меня Fieldset оставнется, то legend вставить и display: none на неё? Или как, если визуально она мне не нужна.

Вообще-то можно спокойно заменить fieldset на div, и получить идентичное отображение.

Link to comment
Share on other sites

  • 0

Внутрь display: inline можно пихать только inline, иначе непредсказуемость и хана. Советую заменить inline на inline-block (и -moz-inline-box/-moz-inline-stack, если важна поддержка FF2-, информации по кроссбраузерному inline-block в Сети уже навалом) и с полным правом оставить fieldset блочным, со всеми его маргинами и паддингами, какие нужны. А сами инлайновые блоки выравниваются через vertical-align не хуже обычных строковых эл-тов.

Но Boris Zbarsky со товарищи таки что-то намудрили там. Буквально сегодня я пытался сделать замену текста картинкой (через абс. позиционированный <span>) для кнопки <button>. Ага...

Edited by SelenIT
Link to comment
Share on other sites

  • 0
Но Boris Zbarsky со товарищи таки что-то намудрили там. Буквально сегодня я пытался сделать замену текста картинкой (через абс. позиционированный <span>) для кнопки <button>. Ага...

Почему намудрили? Благодаря Mozilla были внесены адекватные изменения в спецификацию и она продолжает развиваться полным ходом. Некоторые моменты действительно не описаны в спеке, и пока не будет принято уточнение к спекам, любую реализацию можно считать ошибочной.

Link to comment
Share on other sites

  • 0

Ну вот здесь же David Baron признает, что поведение не соотв-ет спеке...

The CSS spec says that any element with position:relative can be a containing block for absolutely positioned elements. We don't currently support this, since only block and inline frames currently support being an absolute positioning containing block.

We should figure out a way to allow all frames to be absolute positioning containing blocks.

а здесь Boris объясняет, в чем загогулина:

Yep. The issue is that we end up using the anonymous block inside the button as a containing block (because of the wacky reparenting into the insertion frame buttons do), and then centering it inside the button. Since it has no in-flow kids, its height is 0, and you get the resulting rendering.

Вот все это "wacky reparenting" я и имел в виду под "намудрили" :).

Это нисколько не умаляет моего уважения к этим ребятам и не отменяет того факта, что FF по-прежнему мой любимый браузер :)

Link to comment
Share on other sites

  • 0
Внутрь display: inline можно пихать только inline, иначе непредсказуемость и хана. Советую заменить inline на inline-block (и -moz-inline-box/-moz-inline-stack, если важна поддержка FF2-, информации по кроссбраузерному inline-block в Сети уже навалом) и с полным правом оставить fieldset блочным, со всеми его маргинами и паддингами, какие нужны. А сами инлайновые блоки выравниваются через vertical-align не хуже обычных строковых эл-тов.

Но Boris Zbarsky со товарищи таки что-то намудрили там. Буквально сегодня я пытался сделать замену текста картинкой (через абс. позиционированный <span>) для кнопки <button>. Ага...

Я тоже, смотрел сайтов 30 с подобными элементами и там было сделано преимущественно, как я сделал. А человек говорит, что разбирается «как правильно», а советует блоком заменить. Похоже на халтуру выходит. Ну ей Богу, везде, либо в fieldset помещёна form, либо вовсе без него, просто select. Все неправильно делают?

Как ты думаешь, как правильнее будет?

Edited by Deacon
Link to comment
Share on other sites

  • 0
Как ты думаешь, как правильнее будет?

На мой взгляд, тут не страшно и один select оставить, оборачивать fieldset-ом одно поле — спорная необходиость. А вообще многие верстальщики fieldset недолюбливают именно за проблемы со стилизацией (со времен FF2- и т.п.). Но в наше время, по-моему, inline-block для контейнера (li) и блочный (без переопределения display) fieldset внутри должны решить проблему. Ну, или float, как выше советовали... но inline-block современнее и гибче :)

Link to comment
Share on other sites

  • 0
Я тоже, смотрел сайтов 30 с подобными элементами и там было сделано преимущественно, как я сделал. А человек говорит, что разбирается «как правильно», а советует блоком заменить. Похоже на халтуру выходит. Ну ей Богу, везде, либо в fieldset помещёна form, либо вовсе без него, просто select. Все неправильно делают?

Как ты думаешь, как правильнее будет?

Чтобы узнать, правильно или нет, обратимся к спецификации

http://www.w3.org/TR/html401/interact/forms.html#h-17.10

The FIELDSET element allows authors to group thematically related controls and labels. Grouping controls makes it easier for users to understand their purpose while simultaneously facilitating tabbing navigation for visual user agents and speech navigation for speech-oriented user agents. The proper use of this element makes documents more accessible.

Вопрос, как может пользователю помочь всего одна группировка всего одного поля, да еще и без легенды?

Ответ - никак.

Вопрос, в чем ДАО? Какова цель данной конструкции? Какие задачи она решает и чем помогает пользователю?

Не надо мне давать ссылки на "всех" и "везде", научитесь сперва думать своей головой.

Вот все это "wacky reparenting" я и имел в виду под "намудрили" :D.

А куда без проблем? :)

Спека имеет свойство быть неточной или противоречить одна одной.

Link to comment
Share on other sites

  • 0
Чтобы узнать, правильно или нет, обратимся к спецификации

http://www.w3.org/TR/html401/interact/forms.html#h-17.10

The FIELDSET element allows authors to group thematically related controls and labels. Grouping controls makes it easier for users to understand their purpose while simultaneously facilitating tabbing navigation for visual user agents and speech navigation for speech-oriented user agents. The proper use of this element makes documents more accessible.

Вопрос, как может пользователю помочь всего одна группировка всего одного поля, да еще и без легенды?

Ответ - никак.

Вопрос, в чем ДАО? Какова цель данной конструкции? Какие задачи она решает и чем помогает пользователю?

Не надо мне давать ссылки на "всех" и "везде", научитесь сперва думать своей головой.

Я, это понимаю, почему тогда на большинстве сайтов один элемент оборачивают и без легенд?

Вот это сделано зачем?

http://habrahabr.ru/top/blogs/

<!-- Выбор критерия фильтрации -->
<form id="filtrator" action="#">
<fieldset>
<select onchange="window.location.replace('/top/blogs/' + this.value + '/');">
<option value="all" selected="selected">Популярные, за все время</option>
<option value="7d" >Новые, за последние 7 дней</option>
</select>
</fieldset>
</form>
<!-- // Выбор критерия фильтрации -->

Бред? Оно тут не надо?

Legend обязательно добавлять к fieldset?

Кароче определимся: единственная цель элемента fieldset группировка 2 и более элементов? Или он ещё какую-то роль выполняет?

И select отдельно мне делать и в контекте form?

Так вот??

<form>
<select></select>
</form>

??? Или отдельно? Как правильнее?

Edited by Deacon
Link to comment
Share on other sites

  • 0
Я, это понимаю, почему тогда на большинстве сайтов один элемент оборачивают и без легенд?

А это вы у кодеров этих сайтов интересуйтесь, какие цели они преследовали в данном коде.

Бред? Оно тут не надо?

Данная конструкция мне напоминает, что для того, чтобы вскопать грядку метр на метр, присылается дядя на комбайне, стоимостью в 10 млн долларов.

Legend обязательно добавлять к fieldset?

Нет, легенда не обязательный тег.

Кароче определимся: единственная цель элемента fieldset группировка 2 и более элементов? Или он ещё какую-то роль выполняет?

Логическая группировка набора полей в рамках одной формы.

<form>
<select></select>
</form>

Так можно и логично.

Link to comment
Share on other sites

  • 0
Я, это понимаю, почему тогда на большинстве сайтов один элемент оборачивают и без легенд?

Подозреваю, что оборачивают в блочный элемент, чтобы "было валидно", а в филдсет (вместо дива) - чтобы "семантично".

Link to comment
Share on other sites

  • 0
Подозреваю, что оборачивают в блочный элемент, чтобы "было валидно", а в филдсет (вместо дива) - чтобы "семантично".

Ладно, это получается, что семантично группировать один элемент.)) Я вот всё же хочу услышать: это они олени или не совсем они олени? =)

Edited by Deacon
Link to comment
Share on other sites

  • 0
Подозреваю, что оборачивают в блочный элемент, чтобы "было валидно", а в филдсет (вместо дива) - чтобы "семантично".

Ладно, это получается, что семантично группировать один элемент. Я вот всё же хочу услышать: это они олени или не совсем они олени? =)

Edited by Deacon
Link to comment
Share on other sites

  • 0
Ладно, это получается, что семантично группировать один элемент.

Нет, группировать ведь нечего -)

Это как список из одного элемента, хотя такие списки иногда все-таки использовать приходится. Но это не значит, что это хорошо.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy