- Строчные элементы
- Особенности строчных элементов
- Заголовок
- Преобразование в строчный элемент
- Как сделать так чтобы элементы DIV перестали переходить на новую строку?
- 19 ответов на этот вопрос
- Рекомендованные сообщения
- Присоединяйтесь к обсуждению
- Обсуждения
- Запретить перенос блоков друг под друга, когда им присвоено свойсто float.
- Запрет переноса списка
- Решение
Строчные элементы
Строчными называются такие элементы, которые являются непосредственной частью строки, у них значение свойства display установлено как inline . Элементы, для которых это значение задано по умолчанию, — , , , и др., в основном они используются для изменения вида текста или его смыслового выделения.
Особенности строчных элементов
Перечислим характерные особенности строчных элементов.
Свойства, связанные с размерами (width, height), не применимы.
Размеры строчных элементов определяются их содержимым и не могут напрямую меняться с помощью свойств width и height , которые, соответственно, задают ширину и высоту элемента. Добавление этих свойств к строчным элементам просто игнорируется.
Размер элемента равен его содержимому плюс значения margin, border и padding.
Несмотря на то, что явно задать размеры элемента нельзя, на него можно влиять косвенно с помощью свойств margin , border и padding , значения которых суммируются с размерами содержимого (пример 1).
Пример 1. Размеры элемента
Заголовок
В данном примере внутрь блочного элемента добавлен строчный элемент и для него уже заданы свойства margin , padding и border . Это сделано для того, чтобы линия была строго под текстом (рис. 1), а не на всю длину блока, как получилось бы, добавь мы border для h1 напрямую.
Заметьте одну особенность — для строчных элементов margin работает только по горизонтали, но никак не вертикали. Таким образом, свойства margin-top и margin-bottom не действуют.
Срочные элементы переносятся на другую строку при необходимости.
Раз мы имеем дело со строками, то текст, естественно, переносится, чтобы строка целиком поместилась по ширине. Перенос текста, как правило, происходит в месте пробела и может разделить наш строчный элемент на две части и более. Это не страшно, пока к элементу не применяется стилевое оформление. На рис. 2 показано, как фон и рамка разбивается на две части.
Чтобы запретить перенос текста внутри элемента, добавьте свойство white-space со значением nowrap (пример 2).
Перенос текста считается за пробел.
В коде HTML любой перенос текста воспринимается браузером как пробел, это касается и размещения элементов на отдельных строках. Сравните два абзаца в примере 3. В первом абзаце каждый располагается на отдельной строке, а во втором абзаце код идёт сплошной строкой без пробелов и переносов.
Пример 3. Перенос но новую строку
Результат данного примера показан на рис. 3. В первой строке между цветных прямоугольников появилось небольшое пространство, а вторая строка выглядит сплошной.
Рис. 3. Пробелы между элементами
В строчно-блочных элементах мы ещё вернёмся к этой особенности.
Можно выравнивать по вертикали с помощью свойства vertical-align.
Свойство vertical-align выравнивает элементы относительно друг друга по вертикали, что позволяет делать верхний и нижний индексы, задавать выравнивание содержимого ячеек таблицы, задавать положение блоков и др. В примере 4 показано выравнивание картинок и текста по середине друг друга.
Пример 4. Использование vertical-align
Результат данного примера показан на рис. 4.
Рис. 4. Выравнивание картинок и текста
Преобразование в строчный элемент
Строчные элементы можно превращать в блочные с помощью свойства display и его значения block . Также возможно и обратное действие через значение inline и преобразование блочного элемента в строчный (пример 5).
Результат данного примера показан на рис. 5.
Внимание! Превращение элемента в строчный не даёт право нарушать структуру кода HTML и порядок вложения элементов.
Надо понимать, что HTML и CSS проверяются независимо друг от друга и какие бы вы манипуляции не производили с элементами через стили, на HTML это не оказывает влияние. Код HTML в любом случае должен быть корректным с точки зрения синтаксиса HTML.
Как сделать так чтобы элементы DIV перестали переходить на новую строку?
Имеется два слоя. Между ними должен находится просто текст (не в слое!! а просто текст).
Как сделать так чтобы вся эта конструкция находилась в одной строке и слой ‘b’ не переносился на новую строку?
Ссылка на комментарий
Поделиться на других сайтах
19 ответов на этот вопрос
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.
Примечание: вашему сообщению потребуется утверждение модератора, прежде чем оно станет доступным.
Обсуждения
http://htmlbook.ru/html/area на одной картинке можно организовать несколько областей ссылок ведущих на разные страницы
margin внутри таблицы не работает, кста еще можно вот так реализовать так заливка ячеек будет корректно работать, если она нужна будет
row 1 cell 1 | row 1 cell 2 | row 1 cell 3 must contain several lines |
row 2 cell 1 | row 2 cell 2 | |
row 3 cell 1 | row 3 cell 2 | |
row 4 cell 1 | row 4 cell 2 | |
row 5 cell 1 | row 5 cell 2 | row 5 cell 3 |
row 6 cell 1 | row 6 cell 2 | row 5 cell 3 |
если не критично еще можно использовать обертку внутри ячеек, и с ней много чего можно дополнительного реализовать в таблицах
Switch74 Спасибо, второй вариант как раз то, что хотелось. Не понятно только, почему margin-top не работает, пробовал задавать и для клеточек, и для всей строки. А про padding как-то не подумал.
тогда как выше предложили пустую строку
row 1 cell 1 | row 1 cell 2 | row 1 cell 3 must contain several lines |
row 2 cell 1 | row 2 cell 2 | |
row 3 cell 1 | row 3 cell 2 | |
row 4 cell 1 | row 4 cell 2 | |
row 5 cell 1 | row 5 cell 2 | row 5 cell 3 |
row 6 cell 1 | row 6 cell 2 | row 5 cell 3 |
или если подсветка ячеек не обязательна, то можно так
row 1 cell 1 | row 1 cell 2 | row 1 cell 3 must contain several lines |
row 2 cell 1 | row 2 cell 2 | |
row 3 cell 1 | row 3 cell 2 | |
row 4 cell 1 | row 4 cell 2 | |
row 5 cell 1 | row 5 cell 2 | row 5 cell 3 |
row 6 cell 1 | row 6 cell 2 | row 5 cell 3 |
Запретить перенос блоков друг под друга, когда им присвоено свойсто float.
Имеем три блока div, которым присвоено свойство float со значением left.
Эти блоки обтекают друг друга и выстраиваются в одну линию.
Но, если теперь начинать сужать окно браузера, то один блок переносится под другой, когда ему не хватает места в окне. Поэтому такие элементы (со свойством float) называют плавающими.
Но, что делать, если мы не хотим, чтобы эти блоки смещались друг под друга?
Я оказываю услуги в этой области. Если что-то не работает или неправильно отображается, без проблем, подправим. Обратившись, вы можете сэкономить часы и даже дни своего свободного времени.
Больше моих уроков по HTML, CSS и верстке сайтов здесь.
Решение здесь довольно простое. Нужно переназначить родителя для этих блоков и назначить ему фиксированную ширину.
По умолчанию, родителем для них является элемент body с шириной width:auto. Когда мы изменяли ширину окна браузера, изменялась и ширина элемента body.
Float работает следующим образом: если элементу с float не хватает места в родительском элементе, он переносится на новую строку. Это у нас и происходило.
Стоит только добавить новый родительский элемент с фиксированной шириной, как все встает на свои места:
Теперь, сколько бы мы не изменяли ширину окна браузера, блоки с float будут находиться на одной линии.
Будет только появляться горизонтальная полоса прокрутки.
Больше моих уроков по HTML, CSS и верстке сайтов здесь.
Чтобы оставить сообщение, зарегистрируйтесь/войдите на сайт через:
Запрет переноса списка
Есть список ul, его элементы располагаются в строку (display: inline; ). Как сделать так, чтобы при изменении размеров страницы, элементы списка не переносились на новую строку, а просто «уходили за экран» или исчезали?
Запрет переноса строк в таблице
Здравствуйте. Как запретить перенос строк при изменение размеров, что бы добавлялось многоточие .
Запрет переноса строки
Доброй ночи. Можно ли как-то запретить перенос строки в Textarea, клавишей Enter? Я прикрутил к.
Запрет ввода каретки (переноса строки) в Memo
Как сделать запрет ввода в Memo каретки? Т.е. чтобы по Enter (и прочему) не переносилась строка.
Переноса в конец списка его первого элемента
Дан список А, состоящий из записей: первое поле — вещественное число , второе — адрес следующего.
Сообщение было отмечено Алерон как решение
Решение
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
html lang="en"> head> meta charset="UTF-8" /> title>Document/title> style> ul < list-style: none; margin:0 auto; width:960px >li < display: inline-block; padding:20px; border:1px solid red >/style> /head> body> ul> li>Lorem ipsum/li> li>Lorem ipsum/li> li>Lorem ipsum/li> li>Lorem ipsum/li> li>Lorem ipsum/li> li>Lorem ipsum/li> li>Lorem ipsum/li> /ul> /body> /html>
У меня в таком варианте не работает.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
.Top-menu { max-width: 1000px; margin: 0 auto; } .Top-menu b { margin-right: 20px; } .Top-menu ul { display: inline; width:700px; } .Top-menu li { list-style: none; display: inline-block; position: relative; }