|
278 / 272 / 106
Регистрация: 12.01.2016
Сообщений: 1,666
|
|
Блочные и строчные элементы18.09.2017, 23:03. Показов 3271. Ответов 18
Метки нет (Все метки)
Всем добрый вечер и меня озадачила такая ситуация. Есть блочные и строчные элементы. Блочные элементы нельзя вкладывать в строчные то есть
<span><div></div></span> - запрещено. Блочные элементы можно вставлять в блочные и в блочные можно вставлять строчные. А что если я строчному элементу, который будет находиться непосредственно в строчном элементе задам display: block;. Получается, что наш внутренний строчный элемент стал блочным. Такое поведение допускается? <span><a href="" style="display: block;"></a></span>
0
|
|
| 18.09.2017, 23:03 | |
|
Ответы с готовыми решениями:
18
Отступы, блочные и строчные элементы Строчные и блочные теги
|
|
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
|
||||||
| 18.09.2017, 23:33 | ||||||
|
Freeze_Breeze, Дам вам ссылку на статью одну с бородой =>ТЫК<= Но перед тем как начать читать ее, взгляните на код.
Пруф
0
|
||||||
|
|
||||||
| 18.09.2017, 23:56 | ||||||
|
Qwerty_Wasd, ваше доказательство не доказательство
Хоть в спецификации и указано, что IMG это строчно-блочный элемент, но в браузере он отображается как строчный. Да и в любом случае, вопрос темы о том, можно ли вкладывать блочные элементы в строчные.И тут дело даже не в валидности кода, а дело в том, что код ведет себя при этом всем, мягко говоря, не очень.
0
|
||||||
|
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
|
||
| 19.09.2017, 00:01 | ||
|
mrtoxas, можете ткнуть меня лицом по этой ссылке на W3C где указано
0
|
||
|
278 / 272 / 106
Регистрация: 12.01.2016
Сообщений: 1,666
|
|
| 19.09.2017, 00:10 [ТС] | |
img строчный элемент
0
|
|
|
|
|
| 19.09.2017, 00:17 | |
|
Да, чуть не то написал. Строчный, но ведет себя как строчно-блочный.
Но будь он строчным или блочно-строчным, вложение его в строчный элемент не нарушает никаких правил. И на странице эти элементы будут отображаться нормально, что не скажешь о блочном элементе, вложенном в строчный.
0
|
|
|
278 / 272 / 106
Регистрация: 12.01.2016
Сообщений: 1,666
|
|
| 19.09.2017, 00:23 [ТС] | |
|
Qwerty_Wasd, хорошо, спасибо за ссылку я обязательно ее прочту, но дело в том, что браузеры давно опускают такое поведение и не считают его ошибкой, но поведение элементов иногда может вводить в смятение. Тоже самое скажу про Java Script, который тоже может может не показать ошибки в браузере, но ошибка будет и из за этого код не будет выполняться. Хотя браузер ни какой ошибки не показывает, то есть браузер опускает различного рода ошибки как я описал в теме. Но они существуют и им есть место быть.
0
|
|
|
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
|
|
| 19.09.2017, 00:27 | |
|
mrtoxas,Freeze_Breeze, изучая стандарт, первое что приходится усвоить, что структура DOM формируется по принципу от "большого к малому". Логика этой структуры состоит в том, что глупо пихать большой контейнер в малый. Поэтому валидатор не рекомендует, подчеркиваю не рекомендует это делать. Так как логика страницы будет нарушена. Ни в одном абзаце стандарта W3C нет слов строчный элемент\блочный элемент. Есть несколько тематических групп. Кто-то может перевел название одной из них Phrasing content, куда входит img, как "строчные элементы"? Видимо гугл-переводчиком?
0
|
|
|
|
|||||
| 19.09.2017, 04:47 | |||||
|
Qwerty_Wasd, после ваших сообщений у меня сложилось впечатление, что вы не в браузере верстаете, а в спецификации. Я понимаю, что вы хотите сказать, но как можно рассматривать элементы html в браузере в полном отрыве от css?
Элементы отображаются в браузере как строчные, блочные, строчно-блочные. Если вы приводите пример с картиной и говорите, что она блочная, то это не так. У этой картинки есть определенные стили и изначально она строчная или инлайновая - тут уже кто как привык.
<span><div></div></span> - браузер выводит span как строчный, а div как блочный. И валидатор выводит не предупреждение, а конкретную ошибку
В html4 с этим было проще, было две категории "block level" and "inline elements", причем, последний не мог содержать block level элементы, вот отсюда и пошел этот запрет на вложенность. Насчет примера <span><a href="" style="display: block;"></a></span>.Конкретного запрета на размещение блочных(display:block) элементов в строчных(display:inline) - нет, а в спецификации, описывается и этот момент и то, к чему приведет такое размещение, причем, не с логической точки зрения, а конкретно то, как поведут себя элементы на странице. Я выше написал, что поведут они себя не очень и даже привел пример. Если на это смотреть с точки зрения валидатора, то я не понимаю, как он вообще может не пропустить такой код, html-валидатору глубоко одинаково что там творится в стилях.
0
|
|||||
|
278 / 272 / 106
Регистрация: 12.01.2016
Сообщений: 1,666
|
|
| 19.09.2017, 19:33 [ТС] | |
|
Уважаемый Qwerty_Wasd, по моему вы бред написали, а вот с mrtoxas полностью согласен, все правильно сказано.
0
|
|
|
|
||
| 19.09.2017, 20:23 | ||
|
Freeze_Breeze, на самом деле, нет, не бред. Мы c Qwerty_Wasd, скорее всего, по-разному поняли вопрос этой темы и с разных сторон это все описали. Qwerty_Wasd прав в том, что в html5 нет разбиения на строчные и блочные элементы, как было в html4.
Вот, что пишет на эту тему MDN:
0
|
||
|
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
|
|||||||||||||||
| 19.09.2017, 20:24 | |||||||||||||||
|
Freeze_Breeze,
mrtoxas, мне кажется наш диалог пошел не потому руслу. Я упирал на то, что у вас технически, перевод документации не совсем верен. Из-за этого теряется суть, которую она(документация) пытается донести. Например
Теперь что касается CSS, язык описания был создан для того, чтобы сделать жесткий каркас стандарта более гибким, управляемым. К примеру
Теперь надеюсь вы правильно меня поймете. И при этом, Freeze_Breeze, я уважая других участников форума, не попираю их право на собственное мнение, называя их мысли бредом. Скорее всего, mrtoxas, не разделит мои мысли, что вполне понятно. Далее спор продолжать не буду, ибо он бесконечен, как и кол-во мнений. Жду ваших замечаний на мое сообщение и хотел бы с вашего, Freeze_Breeze, mrtoxas, позволения откланяться. Добавлено через 58 секунд блин пока писал и вы mrtoxas тоже. Успели раньше))
0
|
|||||||||||||||
|
2151 / 1496 / 651
Регистрация: 16.04.2016
Сообщений: 3,696
|
|
| 19.09.2017, 20:40 | |
|
mrtoxas, Да нет )) Мы с вами об одном и том же. Только вот перевод документации у нас разный. И потому мы по разному с вами понимаем - как строится DOM.
0
|
|
|
|
|||
| 19.09.2017, 21:35 | |||
|
Не об одном и том же. Попробуйте заменить в моих предложениях "строчный" на "inline", может тогда поймете о чем я.
И на самом деле без разницы как вы их называете. Строчными их назвали потому, что они ведут себя на странице как строка, не более. Я вам пытаюсь донести, что в html4 был конкретный запрет на вложенные block-элементы в inline-элементы. А сейчас в спецификации нет ни тех, ни других, но фактически они никуда не делись. И валидатор выдает все те же ошибки, только уже с другой формулировкой.
И вот у нас не inline, а block элемент.
Большинство inline элементов могут содержать в себе только inline элементы, но не block. Какая же потрясающая разница. Как ведут себя на странице те элементы(выражений), которые могут содержать в себе только выражения, но не поток? А ведут они себя как строка. На какие элементы ругается браузер? На те, которые были inline в html4, за некоторыми исключениями. Но вы по прежнему считаете, что inline элементов уже в помине нет и строчными их назвали по какой-то ошибке перевода.
1
|
|||
|
278 / 272 / 106
Регистрация: 12.01.2016
Сообщений: 1,666
|
|
| 19.09.2017, 23:27 [ТС] | |
|
Задал самый обычный вопрос, а срачь развели на три страницы, за то когда пишешь реальную проблему, никто не ответит... Только и видишь по 80 просмотров темы, а ответов 0... Программисты от Бога блин...
0
|
|
|
278 / 272 / 106
Регистрация: 12.01.2016
Сообщений: 1,666
|
|
| 20.09.2017, 18:59 [ТС] | |
|
mrtoxas я все понял, мои вопросы не достаточно интересны и я не заслужил ответа на них. За то про строчные и блочные элементы развели....
Добавлено через 11 секунд Закройте пожалуйста тему!
0
|
|
| 20.09.2017, 18:59 | |
|
Помогаю со студенческими работами здесь
19
Упорядочить блочные элементы
Блочные элементы HTML5 и старые браузеры
Как правильно верстать блочные элементы? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет
значение производной при заданном х
Логарифм записывается как: (x-2)log(x^2+2) -. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|