Last css: :last-child — CSS | MDN
Псевдокласс :last-of-type | CSS | WebReference
Псевдокласс :last-of-type задаёт стиль последнего элемента определённого типа в группе братских элементов (имеющих одного родителя).
В качестве примера рассмотрим следующий код HTML:
<article>
<h2>Роль цитокинов при дорсалгии</h2>
<p>Автор: Гордон Фримен, канд. физ.-мат. наук</p>
<p>Содержание статьи</p>
<address>Почта: [email protected]</address>
<p>Опубликовано: <time datetime="2018-11-27">27 ноября 2018</time></p>
</article>
Псевдокласс :last-of-type без указания селектора выберет последние элементы каждого типа (<h2>, <p>, <address>, <time>) и установит для них красный цвет текста.
article :last-of-type { color: red; }
При добавлении селектора к :last-of-type сперва выбираются указанные элементы, затем из них берётся последний элемент. Наличие других элементов (<h2> и <address>) и их порядок не учитываются.
article p:last-of-type { color: red; }
Здесь будет выбран последний абзац внутри <article> и выделен красным цветом.
Вместо :last-of-type допустимо использовать :nth-last-of-type(1).
Синтаксис
Селектор:last-of-type { ... }
Обозначения
Описание | Пример | |
---|---|---|
<тип> | Указывает тип значения. | <размер> |
A && B | Значения должны выводиться в указанном порядке. | <размер> && <цвет> |
A | B | Указывает, что надо выбрать только одно значение из предложенных (A или B). | normal | small-caps |
A || B | Каждое значение может использоваться самостоятельно или совместно с другими в произвольном порядке. | width || count |
[ ] | Группирует значения. | [ crop || cross ] |
* | Повторять ноль или больше раз. | [,<время>]* |
+ | Повторять один или больше раз. | <число>+ |
? | Указанный тип, слово или группа не является обязательным. | inset? |
{A, B} | Повторять не менее A, но не более B раз. | <радиус>{1,4} |
# | Повторять один или больше раз через запятую. | <время># |
Пример
<!DOCTYPE html> <html> <head> <meta charset=»utf-8″> <title>last-of-type</title> <style> p:last-of-type::after { content: ‘ ◄’; /* Добавляем символ в конце текста */ color: #c00000; /* Цвет символа */ } </style> </head> <body> <p>Этот старинный скандинавский напиток пришёл к нам из древних времен и воспет во многих песнях. Теперь вы самостоятельно можете приготовить его и насладиться чудесным вкусом и ароматом легендарного нектара.</p> <p>…</p> <p>Осталось добавить хлива и хрольва, чтобы напиток был готов. Подавать горячим.</p> </body> </html>Рис. 1. Результат использования псевдокласса :last-of-type
Спецификация
Каждая спецификация проходит несколько стадий одобрения.
- Recommendation (Рекомендация) — спецификация одобрена W3C и рекомендована как стандарт.
- Candidate Recommendation (Возможная рекомендация) — группа, отвечающая за стандарт, удовлетворена, как он соответствует своим целям, но требуется помощь сообщества разработчиков по реализации стандарта.
- Proposed Recommendation (Предлагаемая рекомендация) — на этом этапе документ представлен на рассмотрение Консультативного совета W3C для окончательного утверждения.
- Working Draft (Рабочий проект) — более зрелая версия черновика после обсуждения и внесения поправок для рассмотрения сообществом.
- Editor’s draft (Редакторский черновик) — черновая версия стандарта после внесения правок редакторами проекта.
- Draft (Черновик спецификации) — первая черновая версия стандарта.
Браузеры
В таблице браузеров применяются следующие обозначения.
- — свойство полностью поддерживается браузером со всеми допустимыми значениями;
- — свойство браузером не воспринимается и игнорируется;
- — при работе возможно появление различных ошибок, либо свойство поддерживается лишь частично, например, не все допустимые значения действуют или свойство применяется не ко всем элементам, которые указаны в спецификации.
Число указывает версию браузера, начиная с которой свойство поддерживается.
Автор и редакторы
Автор: Влад Мержевич
Последнее изменение: 02.03.2020
Редакторы: Влад Мержевич
1 | Воспроизвести | Отметить композицию как любимую | CSS | Купить
| Больше
| |
2 | Воспроизвести | Отметить композицию как любимую | Alala | Cansei de Ser Sexy | Купить
| Больше
|
3 | Воспроизвести | Отметить композицию как любимую | Alala | CSS | Купить
| Больше
|
4 | Воспроизвести | Отметить композицию как любимую | Music Is My Hot, Hot Sex | CSS | Купить
| Больше
|
5 | Воспроизвести | Отметить композицию как любимую | This Month, Day 10 | Cansei de Ser Sexy | Купить
| Больше
|
6 | Воспроизвести | Отметить композицию как любимую | Off the Hook | Cansei de Ser Sexy | Купить
| Больше
|
7 | Воспроизвести | Отметить композицию как любимую | Music Is My Hot Hot Sex | Cansei de Ser Sexy | Купить
| Больше
|
8 | Воспроизвести | Отметить композицию как любимую | Let’s Make Love and Listen Death From Above | Cansei de Ser Sexy | Купить
| Больше
|
9 | Воспроизвести | Отметить композицию как любимую | Meeting Paris Hilton | Cansei de Ser Sexy | Купить
| Больше
|
10 | Воспроизвести | Отметить композицию как любимую | Patins | Cansei de Ser Sexy | Купить
| Больше
|
CSS — text-align-last — Свойство CSS text-align-last устанавливает способ выравнивания последней строки
Свойство CSS text-align-last
устанавливает способ выравнивания последней строки блока или строки непосредственно перед принудительным разрывом строки.
Syntax
text-align-last: auto; text-align-last: start; text-align-last: end; text-align-last: left; text-align-last: right; text-align-last: center; text-align-last: justify; text-align-last: inherit; text-align-last: initial; text-align-last: unset;
Values
auto
- Затрагиваемой линия выравнивается по значению
text-align
, еслиtext-align
неjustify
, и в этом случае эффект такой же , как установкаtext-align-last
, чтобыstart
. start
- То же, что
left
если направление слева направо, иright
если направление справа налево. end
- То же, что
right
если направление слева направо, иleft
если направление справа налево. left
- Содержимое строки выровнено по левому краю коробки с линиями.
right
- Содержимое строки выровнено по правому краю коробки с линиями.
center
- Содержимое строки находится в центре поля.
justify
- Текст оправдан.Текст должен выстраиваться левым и правым краем вверх по левому и правому краю содержания параграфа.
Formal definition
Формальный синтаксис
auto | start | end | left | right | center | justify
Examples
Оправдание последней строки
CSS
p { font-size: 1.4em; text-align: justify; text-align-last: center; }
Results
Specifications
Совместимость с браузерами
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Хромовый Android | Firefox для Android | Опера Андроид | Safari на IOS | Samsung Интернет | |
text-align-last | 47 | 12 | 49 12-53 | 5.5 [«IE поддерживает | 34 | No | 47 | 47 | 49 14-53 | 34 | No | 5.0 |
См.также
CSS text align last
Пример
Выравнивание последней строки текста в трех элементах <div>:
div.a {text-align: justify; /* For Edge */
text-align-last: right;
}
div.b
{
text-align: justify; /* For Edge */
text-align-last: center;
}
div.c
{
text-align: justify; /* For Edge */
text-align-last: justify;
}
Подробнее примеры ниже.
Определение и использование
Свойство text-align-last
указывает, как выровнять последнюю строку текста.
Обратите внимание, что свойство text-align-last
задает выравнивание для всех последних строк в выбранном элементе. Таким образом, если у вас есть <div> с тремя абзацами в нем, text-align-last
будет применяться к последней строке каждого абзаца. Чтобы использовать text-align-last
только для последнего абзаца в контейнере, можно использовать: последний дочерний элемент, см. пример ниже.
Примечание: В EDGE/Internet Explorer свойство text-align-last
работает только с текстом, который имеет выравнивание по тексту: выравнивание.
Значение по умолчанию: | auto |
---|---|
Inherited: | yes |
Animatable: | no. Читайте о animatable |
Version: | CSS3 |
Синтаксис JavaScript: | object.style.textAlignLast=»right» |
Поддержка браузера
Номера в таблице указывают первую версию браузера, которая полностью поддерживает свойство.
Номера следуют -МОЗ- укажет первую версию, которая работала с префиксом.
Свойство | |||||
---|---|---|---|---|---|
text-align-last | 47.0 | 5.5 | 54.0 12.0 -moz- | Не поддерживается | 34.0 |
Примечание: В EDGE/Internet Explorer значения «Start» и «End» не поддерживаются.
Синтаксис CSS
text-align-last: auto|left|right|center|justify|start|end|initial|inherit;
Значения свойств
Значение | Описание | |
---|---|---|
auto | Значение по умолчанию. Последняя строка выровнена по левому краю | |
left | Последняя строка выравнивается по левому краю | |
right | Последняя строка выравнивается по правому краю | |
center | Последняя строка выравнивается по центру | |
justify | Последняя строка оправдана, так как остальные строки | |
start | Последняя строка выравнивается в начале строки (слева, если текст-направление слева направо, а справа-направление текста справа налево). | |
end | Последняя строка выравнивается в конце строки (справа, если направление текста слева направо, а слева-направление текста справа-налево). | |
initial | Присваивает этому свойству значение по умолчанию. (Читайте о initial) | |
inherit | Наследует это свойство из родительского элемента. (Читайте о inherit) |
Другие примеры
Пример
Используйте text-align-last только на самой последней строке в контейнере:
div.b p:last-child {
text-align-last: center;
}
Похожие страницы
CSS Справочник: CSS Text
HTML DOM Справочник: textAlignLast Свойство
CSS :: last-child и: first-child
предисловие
При разработке внешнего интерфейса нам иногда приходится выполнять некоторые специальные операции для настроек первого или последнего элемента. CSS предоставляет нам селекторы: last-child и: first-child по умолчанию, но при фактическом использовании мы должны обратить особое внимание на один момент.
Начните
: last-child: Определяет цвет фона элемента p, который принадлежит последнему дочернему элементу его родительского элемента. (Официальное описание от W3C)
практика
HTML:
<div>
<h2> Это заголовок </ h2>
<p> Первый абзац. </ p>
<div>
<p> p, второй абзац. </ p>
<p> p, третий абзац. </ p>
<р> р, четвертый абзац. </ p>
<div class = "div3"> div, я последний элемент. </ div>
</div>
<p> p, пятый абзац. </ p>
</div>
CSS:
.div1{
border: solid 1px green;
}
.div2{
border: solid 1px orange;
}
.div3{
border: solid 1px blue;
}
p:last-child
{
background: pink;
}
Эффект изображения:
анализ
В .div2 последним элементом является тег div, который не выбирается: last-child. Вы можете подумать, что тег p написан в селекторе, и само собой разумеется, что элемент div не выбран.) ↗понять больше)
Если у вас есть какие-либо вопросы или идеи, пожалуйста, оставьте комментарий или отсканируйте QR-код ниже, чтобы связаться со мной ~
CSS псевдокласс :nth-last-child()
Псевдоклассы :nth-child() и :nth-of-type() выбирают заданные элементы из группы братских элементов, начиная с первого. В противоположность им, псевдоклассы :nth-last-child() и :nth-last-of-type() выбирают элементы, считая от последнего. Приведём несколько примеров. :nth-last-child(1) Выбирает последний элемент, аналогичен :last-child. :nth-last-child(2) Выбирает предпоследний
Нечётные
Все нечётные номера элементов: 1, 3, 5, 7…
ul li:nth-child(odd) { background: skyblue;}/* или */ul li:nth-child(2n+1) { background: skyblue;}
2
Источник: http://snipp.ru/html-css/nth-child
Синтаксис¶
element:nth-last-child(an + b) { /* стили */}
Источник: http://xsltdev.ru/css/nth-last-child/
Автор и редакторы
Автор: Влад Мержевич
Последнее изменение: 12.03.2020
Редакторы: Влад Мержевич
Источник: http://webref.ru/layout/structural-pseudo-classes/nth-last-child
Описание
CSS псевдокласс :last-child находит любой элемент, являющийся последним в его родителе.
Источник: http://developer.mozilla.org/ru/docs/Web/CSS/:last-child
Использование псевдокласса CSS :nth-child для выбора единственного элемента
Задавая псевдоклассу :nth-child значение в виде числа, можно выбрать, к какому потомку из группы обратиться:
• Элемент 1
• Элемент 2
• Элемент 3
• Элемент 4
• Элемент 5
• Элемент 6
• Элемент 7
• Элемент 8
• Элемент 9
• Элемент 10
#selector_example li:nth-child(4){ font-size:150%; font-weight:bold; color:green;}
Источник: http://dejurka.ru/css/how-to-use-css-nth-child/
PHP-МАСТЕР.
От теории до собственной CMS интернет-магазина
Подробнее
Практический курс по верстке адаптивного сайта с нуля!
Подробнее
Источник: http://webformyself.com/css-psevdoklassy-stilizaciya-elementov-po-indeksam/
Значения¶
oddВсе нечётные номера элементов, начиная с конца.evenВсе чётные номера элементов, начиная с конца.<число>Порядковый номер дочернего элемента относительно своего родителя. Нумерация начинается с 1, это соответствует последнему элементу в списке.<выражение>Задаётся в виде an±b, где a и b целые числа, а n — счётчик, который автоматически принимает значение 0, 1, 2…Если a равно нулю, то оно не пишется и запись сокращается до b. Если b равно нулю, то оно также не указывается и выражение записывается в форме an. a и b могут быть отрицательными числами, в этом случае знак плюс меняется на минус, например: 5n-1.За счёт использования отрицательных значений a и b некоторые результаты могут также получиться отрицательными или равными нулю. Однако на элементы оказывают влияние только положительные значения из-за того, что нумерация элементов начинается с 1.
Результат для различных значений псевдокласса
Значение | Номера элементов | Описание |
---|---|---|
1 | 1 | Последний элемент, является синонимом псевдокласса :last-child. |
5 | 5 | Пятый элемент с конца. |
2n | 2, 4, 6, 8, 10,… | Все чётные элементы, начиная с конца; аналог значения even. |
2n+1 | 1, 3, 5, 7, 9,… | Все нечётные элементы, начиная с конца; аналог значения odd. |
3n | 3, 6, 9, 12,… | Каждый третий элемент, начиная с конца. |
3n+2 | 2, 5, 8, 11, 14,… | Каждый третий элемент, начиная с предпоследнего. |
n+4 | 4, 5, 6, 7, 8,… | Все элементы, кроме последних трёх. |
-n+3 | 3, 2, 1 | Последние три элемента. |
5n-2 | 3, 8, 13, 18, 23,… | — |
even | 2, 4, 6, 8, 10,… | Все чётные элементы, начиная с конца. |
odd | 1, 3, 5, 7, 9,… | Все нечётные элементы, начиная с конца. |
Источник: http://xsltdev.ru/css/nth-last-child/
CSS cинтаксис:
:nth-last-child(номер) {блок объявлений;}
Источник: http://basicweb.ru/css/css_sel_nth-last-child.php
Спецификации
Спецификации | Статус | Комментарий |
---|---|---|
Selectors Level 4 Определение ‘:last-child’ в этой спецификации. | Рабочий черновик | Без изменений |
Selectors Level 3 Определение ‘:last-child’ в этой спецификации. | Рекомендация | Изначальное определение |
Источник: http://developer.mozilla.org/ru/docs/Web/CSS/:last-child
Поддержка браузерами
BCD tables only load in the browser
Источник: http://developer.mozilla.org/ru/docs/Web/CSS/:last-child
Смотрите также
- :first-child
- :nth-child
- :last-of-type
Источник: http://developer.mozilla.org/ru/docs/Web/CSS/:last-child
( 1 оценка, среднее 5 из 5 )
css — Расширенный выбор nth-child
Я пытаюсь выяснить правило выбора n-го потомка, которое выберет «остаток» от деления на три. Для объяснения здесь приведена наглядная диаграмма.
РЕДАКТИРОВАТЬ: предоставление дополнительных примеров для ясности.
div1 (should select div1) div1 div2 (should select div1 and div2) div1 div2 div3 (should select nothing) div1 div2 div3 div4 (should select div4) div1 div2 div3 div4 div5 (should select div4 and div5) div1 div2 div3 div4 div5 div6 (should not select anything) div1 div2 div3 div4 div5 div6 div7 (should select div7)
Др…
Я считаю, что это возможно, но не могу этого понять.
0
user3590712 10 Июл 2014 в 20:00
4 ответа
Лучший ответ
:nth-child()
:nth-last-child()
и общий родственный селектор (~
) можно комбинировать для сопоставления элементов, следующих за последняя группа из 3 человек.
div:nth-child(3n):nth-last-child(-n+3) ~ div {
/* ... */
}
http://jsfiddle.net/akzzM/
В третьем примере из 7 блоков:
nth-child(3n)
соответствует каждому третьему<div>
— соответствует3
и6
.nth-last-child(-n+3)
соответствует последним 3 братьям и сестрам — совпадающим5
,6
и7
.- Вместе они будут соответствовать только последнему интервалу из 3 — совпадающему
6
.
Тогда ~ div
соответствует любым братьям и сестрам, которые следуют за (7
).
Чтобы сопоставить 1-й и 2-й, когда нет 3-го, вы также можете сопоставить :first-child
, если он один из последних 2, и :last-child
, если он один из первых 2:
div:nth-child(3n):nth-last-child(-n+3) ~ div,
div:first-child:nth-last-child(-n+2),
div:last-child:nth-child(-n+2) {
/* ... */
}
http://jsfiddle.net/JEST3/
3
Jonathan Lonowski 10 Июл 2014 в 18:13
Насколько я могу судить, не существует единого селектора, который позволил бы вам это сделать.
Однако комбинация nth-last-child
и переопределения с nth-child
приведет вас к этому.
CSS
li:nth-last-child(-n+2) {color:red;}
li:nth-child(3n) {color:black;}
li:nth-child(1),
li:nth-child(2),
li:nth-child(3) {color:black;}
Демонстрация Jsfiddle
1
Paulie_D 10 Июл 2014 в 16:22
Это может быть решением вашей проблемы:
div:not(:nth-child(3n)):not(:nth-child(1)):not(:nth-child(2)) {
background-color: #38f;
}
0
Barun 10 Июл 2014 в 16:13
Я считаю, что решил это к своему удовлетворению, несмотря на то, что мне пришлось написать две разные группы css. Хитрость в том, что вы можете использовать несколько селекторов в одной строке, что эквивалентно объединению выбранных элементов.
Рабочий пример на http://jsfiddle.net/MY4cD/
Более полное решение (которое можно расширить до других кратных, кроме трех), приведено ниже.
Учитывая следующий HTML (и для любого количества)
<div>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
</div>
Следующий CSS создаст строки из трех с «остальными» блоками, выделенными красным.
.cell {
width: 33.33%;
}
.cell:nth-last-child(-n+2):nth-child(3n+1):nth-last-child(1){
background:red;
}
.cell:nth-last-child(-n+2):nth-child(3n+1):nth-last-child(2){
background:red;
}
.cell:nth-last-child(-n+2):nth-child(3n+2):nth-last-child(1){
background:red;
}
Если вы хотите, чтобы в каждой строке было 4 блока, и снова выберите оставшуюся часть, вы можете использовать следующий CSS
.cell {
width: 25%;
}
/* accounts for when there is 1 remainder */
.cell:nth-last-child(-n+3):nth-child(4n+1):nth-last-child(1){
background:red;
}
/* accounts for the first of 2 remainders */
.cell:nth-last-child(-n+3):nth-child(4n+1):nth-last-child(2){
background:red;
}
/* accounts for the second of 2 remainders */
.cell:nth-last-child(-n+3):nth-child(4n+2):nth-last-child(1){
background:red;
}
/* accounts for the first of 3 remaidners */
.cell:nth-last-child(-n+3):nth-child(4n+1):nth-last-child(3){
background:red;
}
/* accounts for the second of 3 remainders */
.cell:nth-last-child(-n+3):nth-child(4n+2):nth-last-child(2){
background:red;
}
/* accounts for the third of 3 remainders */
.cell:nth-last-child(-n+3):nth-child(4n+3):nth-last-child(1){
background:red;
}
Таким образом, вы можете видеть, что чем выше вы поднимаетесь, тем сложнее будет узор, но это, безусловно, возможно для любого числа.
Я использовал этот шаблон вместе с медиа-запросами для имитации эффектов нового CSS flex-flow: row wrap; команда с использованием чисел с плавающей запятой для кроссбраузерности. Вы можете увидеть полную демонстрацию этого здесь: http://codepen.io/msorrentino/full/chHnu/
0
user3590712user3590712 11 Июл 2014 в 13:55
CSS: селектор nth-last-of-type ()
Пример
Укажите цвет фона для каждого элемента
, который является вторым элементом p. своего родителя, считая от последнего ребенка:
p: nth-последний-тип (2)
{
фон: красный;
}
Дополнительные примеры «Попробуйте сами» ниже.
Определение и использование
Селектор : nth-last-of-type ( n )
соответствует каждому элементу, который является n -м дочерним элементом определенного типа его
родитель, считая от последнего ребенка.
n может быть числом, ключевым словом или формулой.
Совет: Посмотрите на селектор: nth-last-child () для выбора элемента, который является n -м потомком, независимо от тип своего родителя, считая от последнего дочернего элемента.
Поддержка браузера
Числа в таблице указывают первую версию браузера, полностью поддерживающую селектор.
Селектор | |||||
---|---|---|---|---|---|
: последний тип () | 4.0 | 9,0 | 3,5 | 3,2 | 9,6 |
Синтаксис CSS
: nth-last-of-type ( номер ) {объявления css ;
} Демо
Другие примеры
Пример
Четные и нечетные ключевые слова, которые могут использоваться для сопоставления дочерних элементов, индекс которых нечетное или четное (индекс первого потомка равен 1).
Здесь мы указываем два разных цвета фона для нечетных и четных элементов p:
p: nth-last-of-type (нечетный) {фон: красный;
}
p: nth-last-of-type (четный)
{
фон: синий;
}
Пример
По формуле ( и + b ).Описание: a представляет собой размер цикла, n — счетчик (начинается с 0), а b — значение смещения.
Здесь мы указываем цвет фона для всех элементов p, индекс которых равен кратно 3:
p: n-й-последний-тип (3n + 0)
{
фон: красный;
}
: последняя машина | CSS-уловки
Селектор : last-of-type
позволяет выбрать последнее вхождение элемента в его контейнере.Он определен в спецификации CSS Selectors Level 3 как «структурный псевдокласс», что означает, что он используется для стилизации контента на основе его отношений с родительским и родственным контентом.
Допустим, у нас есть статья с заголовком, несколькими абзацами и изображением:
<статья>
Заголовок
Пункт 1.
Пункт 2
Пункт 3
Мы хотим уменьшить последний абзац, чтобы он служил завершением содержания (как примечание редактора).Вместо того, чтобы давать ему класс, мы можем использовать : last-of-type
, чтобы выбрать его:
п: последний тип {
размер шрифта: 0,75em;
}
Использование : last-of-type
очень похоже на : nth-child
, но с одним критическим отличием : он менее специфичен. В приведенном выше примере, если бы мы использовали p: nth-last-child (1)
, ничего бы не произошло, потому что абзац не является последним дочерним элементом своего родителя (
).Это раскрывает мощь : последний из типа
: он нацелен на определенный тип элемента в определенном расположении по отношению к аналогичным братьям и сестрам, а не ко всем братьям и сестрам .
Более полный пример ниже демонстрирует использование : last-of-type
и связанного селектора псевдокласса : first-of-type
.
Оцените эту ручку!
Прочие ресурсы
Поддержка браузера
Хром | Safari | Firefox | Opera | IE | Android | iOS |
---|---|---|---|---|---|---|
Завод | 3.2+ | Работает | 9,5+ | 9+ | Работает | Работает |
: последний тип
был представлен в модуле CSS Selectors Module 3, что означает, что старые версии браузеров не поддерживают его. Однако поддержка современных браузеров безупречна, а новые псевдоселекторы широко используются в производственных средах. Если вам требуется поддержка старых версий браузеров, используйте polyfill для IE или используйте эти селекторы некритическими способами, например, с прогрессивным улучшением, что рекомендуется.
CSS — не последний ребенок в классе »[Как выбрать все, кроме последнего примера]
Если вы хотите отформатировать список элементов, например, при создании меню или стилизации меню, вам необходимо применить стили к каждому элементу. Распространенным требованием является использование опции CSS not last child для выбора всех других элементов в списке, кроме последнего дочернего элемента. Если вы ищете хороший пример правила выбора CSS, а не последнего дочернего элемента, этот пост поможет вам.
Разметка HTML
В этом посте я буду использовать меню HTML, чтобы проиллюстрировать, как с помощью CSS можно выбрать все элементы, кроме последнего дочернего.
Ниже приведен пример разметки HTML для меню из 4 пунктов:
CSS Not Last Child
- На главную
- О компании
- Связаться
- Участники
Как видите, в разметке у нас 4 пункта списка. Мы намерены выбрать все 3 первых элемента (Дом, О нас, Контакты), но оставить последний (Участник)
Базовые стили CSS
Нам нужно добавить несколько основных стилей, чтобы сделать меню привлекательным и легче продемонстрировать, как выбирать все элементы, кроме последнего дочернего.
Ниже приведены некоторые основные стили для улучшения внешнего вида этого меню:
<стиль> li { стиль списка: нет; дисплей: встроенный; отступ: 20 пикселей; семейство шрифтов: arial; } .главное меню { фон: # 2d7484; цвет: #fff; отступ: 20 пикселей; максимальная ширина: 900 пикселей; }
Теперь меню отображается, как показано ниже:
CSS Не последний дочерний выбор
Чтобы стилизовать все первые три элемента, а не последний дочерний элемент, вам необходимо использовать селектор : not (: last-child)
следующим образом:
.target: not (: last-child) { / * Стили для всех остальных элементов, кроме последнего * / }
Чтобы проиллюстрировать, как это работает, мы применим оранжевый цвет к другим пунктам меню, кроме последнего дочернего элемента, показанного на изображении ниже:
.main-menu: not (: last-child) { граница: сплошная 1px #ddd; цвет: # ea9e12; }
Похожие статьи
- 100+ советов, приемов и фрагментов Ultimate WooCommerce Hide Guide
- Перенаправление WooCommerce после оформления заказа: перенаправление на настраиваемую страницу благодарности
- Как оформить страницу оформления заказа WooCommerce
- Как изменить цвет ссылки в теме WooCommerce витрины магазина
- Как удалить маркеры из неупорядоченного списка в WordPress
- Как скрыть промежуточный итог корзины в WooCommerce или удалить промежуточную строку
- Руководство по настройке CSS для витрины WooCommerce
- 30+ лучших плагинов списков рассылки WordPress для построения списков
- Как удалить все продукты из WooCommerce
- Как проверить, вошел ли пользователь в систему WordPress
- Как создать шорткод для входа в WooCommerce Выход из системы
- Как получить идентификатор заказа на странице оформления заказа WooCommerce
- Как изменить конечные точки оформления заказа WooCommerce
- Как получить текущее название категории продукта в WooCommerce
- 5+ полезных способов ограничить длину отрывка WordPress, как у Pro
- Как проверить, активен ли плагин в WordPress [3 СПОСОБА]
- 30+ лучших плагинов схемы WordPress для лучшего SEO на странице
- Как удалить название категории продукта WooCommerce
- Как добавить разбиение на страницы в записи WordPress, разделенной на несколько страниц
- Как создать продукт программно WooCommerce
- Как добавить поле выбора в оформление заказа WooCommerce
- Как создать страницу в WordPress программно
Выбор последних n элементов в CSS · clairecodes
16 апреля 2016
2 минуты чтения
Категории: / css
Возьмем стандартный список: 🚽📋
- Дорис Лессинг
- Анджела Картер
- Энн Пэтчетт
- Айрис Мердок
Быстро, с головы до ног: 👴
- Как выбрать только последний элемент списка?
li: последний ребенок
- Что, если бы мы добавили еще один элемент в список.Как бы вы выбрали только последние 2 элементов?
li: nth-last-child (-n + 2)
- Добавлен последний элемент списка: теперь 6 ли, а нам нужны только последние 3. Как это сделать? Нам нужен еще один селектор:
li: nth-child (n + 4)
Но на самом деле мы могли бы использовать этот последний селектор все время, и он был бы более устойчивым к изменяющейся структуре списка, учитывая наши требования: мы всегда хотели пропустить первые 3 элемента и выбрать что-нибудь после них. , независимо от того, сколько других li было в списке.
С другой стороны, как насчет того, чтобы список менял длину, но вы всегда хотели только последних трех элементов? Вы могли бы застрять с nth-last-child (-n + 3)
. Видите ли, зависит от ваших требований и от того, как вы формулируете вопрос.
В сторону
Люди относятся к ресурсам w3schools снобизмом, но мне нравятся примеры «Попробуйте сами», где можно поиграть с такими селекторами: их легко найти в Google, чтобы найти пример, который вы хотите, и легко изменить.Тратьте меньше времени на критику и элитарность и отталкивайте новичков только так, чтобы звучало так, будто вы знаете, о чем говорите, и больше времени на написание кода! 👃 Фин.
🔞 P.S.
nth-child
, nth-last-child
и другие полезные расширенные селекторы не поддерживаются в IE8.
Подробнее 📓
Использование CSS: first-child /: last-child
Селекторы CSS : first-child
и : last-child
используются для применения стиля CSS к первому или последнему элементу, который является дочерним по отношению к родительскому элементу.
Например, если у вас есть следующий список:
- Первый
- Второй
- Третий
- Четвертый
Вы можете присвоить первому элементу голубой фон с помощью CSS:
li { цвет фона: светло-серый; } li: first-child { цвет фона: светло-голубой; }
Отображается как:
Использование: first-child /: last-child вместо классов CSS
Довольно часто можно найти классы CSS, добавленные к элементам, чтобы указать, что они являются первым или последним элементом в группе.Это может быть связано с тем, что для дизайна требуются поля или границы должны обрабатываться по-разному для элементов на краю. Классы CSS, используемые для этого, часто имеют имена, такие как alpha
, omega
, first
или last
. Например:
- Первый
- Второй
- Третий
- Четвертый
Это позволяет при необходимости стилизовать первый и последний элементы по-разному.Однако в CSS3 мы можем использовать : first-child
и : last-child
для обработки многих случаев, в которых используются эти классы. Это означает, что нам не нужно добавлять эти дополнительные классы в HTML-код, что полезно, так как помогает поддерживать чистоту HTML-кода. Это также позволяет нам более легко стилизовать HTML, который создается частями кода, над которыми мы не можем напрямую контролировать, например сторонними библиотеками или плагинами.
Если бы мы хотели провести разделительную линию между элементами списка, например:
li { border-right: сплошной серый цвет 1px; }
Но мы не хотели, чтобы граница в конце, после последнего элемента, мы могли использовать:
li: last-child { граница справа: нет; }
Вместо:
li.последний { граница справа: нет; }
Отображается как:
Дальнейшее развитие
Есть также несколько других связанных селекторов CSS, таких как : nth-child (n)
, которые можно использовать для выбора элементов на основе других критериев, таких как n
-й дочерний элемент.
Эти селекторы доступны в любом современном браузере, начиная с IE9.
Если вам понравился этот пост, подумайте о том, чтобы оставить комментарий или подписаться на канал RSS .CSS: first-child,: nth-child и: last-child не похожи на: eq
Одна ошибка, которую я видел несколько раз, — это представление о том, что псевдоселектор nth-child
в CSS действует как псевдоселектор : eq
в jQuery.
jQuery : eq (n)
дает вам единственный элемент с индексом n
из всех сопоставленных элементов. Хотя это, безусловно, полезный селектор, он, к сожалению, не поддерживается в стандартном CSS.Если вы обнаружите, что неоднократно используете : eq
в своем коде jQuery, будьте осторожны, чтобы не слишком сильно полагаться на : eq
до такой степени, что ваши стили трудно сопоставить в «чистом» CSS.
Если бы мы выразили : nth-child
в терминах селектора : eq
, это было бы похоже на использование : eq
с охватом всех содержимого непосредственного потомка одного элемента. Или, по моим собственным словам, : nth-child
добавляет ограничение к селектору, что совпадающий элемент должен быть элементом nth в его родительском контейнере.
Итак, если бы у нас был фрагмент HTML, например
Тогда селектор .foo: nth-child (2)
будет соответствовать div # bar2
. Если мы вставим еще один элемент в переднюю часть контейнера:
Shift!
И снова выбираем .foo: nth-child (2)
, мы сопоставляем div # bar1
, потому что второй дочерний элемент контейнера также соответствует .foo
.
Таким образом, в этом втором примере, если мы попробуем .foo: nth-child (1)
или эквивалент .foo: first-child
, мы не найдем совпадения ни с одним элементом, потому что первый дочерний элемент в этом контейнере — это p
tag — не соответствует .foo
.
Аналогично, : nth-child
может сопоставлять дочерние элементы в нескольких контейнерах.Во фрагменте HTML:
Shift!
селектор .foo: last-child
будет соответствовать div # bar3
и #quux
; но .foo: first-child
или .foo: nth-child (1)
будет соответствовать только #quux
, потому что первый дочерний элемент первого контейнера, опять же, не является .foo
.
Об авторе
Биография
Введение в свойство CSS text-align-last
Иногда крошечные детали, которые в большинстве своем остаются незамеченными, могут повлиять на восприятие пользователем. Это может включать в себя тонкие тени текста, применяемые к заголовку, или правильный интервал между различными элементами на веб-странице.
Свойство text-align-last
полезно в этом отношении.Он определяет, как будет выровнена последняя строка блока или строка непосредственно перед принудительным разрывом строки. Это важно, потому что в последней строке абзаца обычно не хватает текста, чтобы заполнить все пространство. Вы можете заметить или не заметить изменения, но это улучшит общий вид вашего сайта.
В этом руководстве будут рассмотрены все аспекты свойства text-align-last
, включая допустимые значения, поддержку и поведение конкретного браузера.
Использование и возможные значения
Использовать text-align-last
в ваших проектах довольно просто.Вот базовый фрагмент для выравнивания последней строки текста по правому краю:
.intro-graph {
выравнивание текста: выравнивание; // Требуется для IE и Edge
выравнивание текста последний: право;
}
Это свойство имеет семь возможных значений. Вы, вероятно, знакомы с обычными значениями слева
, справа
и по центру
. Они выравнивают текст в последней строке слева, справа и по центру контейнера.
Следующая демонстрация показывает различия между этими тремя значениями:
См. Pen text-align-last — Example 1 от SitePoint (@SitePoint) на CodePen.
Четвертое значение, , выравнивание по ширине
, выравнивает последнюю строку таким образом, что текст выравнивает его левый и правый края по левому и правому краям контейнера. Это достигается за счет вставки соответствующего промежутка между словами, когда это необходимо. В зависимости от объема текста вы можете использовать это свойство, чтобы полностью заполнить пространство в последней строке без слишком большого промежутка между словами. Текст во втором абзаце также выравнивается по ширине, но, поскольку последняя строка содержит только одно слово, она выравнивается по левому краю.
См. Pen text-align-last — Example 2 от SitePoint (@SitePoint) на CodePen.
В то время как выравнивание по левому краю последней строки текста работает для языков, которые читаются слева направо (LTR), это будет неправильно делать с языками RTL. В таких случаях присвоение значений слева
или справа
может вызвать проблемы, если вы заранее не знаете язык, который будет использоваться.
К счастью, вы можете использовать ключевое слово start
, чтобы выровнять текст по начальной позиции строки в зависимости от направления текста.Это означает, что установка text-align-last
на start
будет выравнивать текст языков LTR по левому краю и выравнивать текст языков RTL по правому краю. Точно так же вы можете использовать значение , конец
, чтобы выровнять текст по конечной позиции строки в зависимости от направления текста. Это приведет к выравниванию текста языков LTR по правому краю и выравниванию текста языков RTL по левому краю.
См. Pen text-align-last — Example 3 от SitePoint (@SitePoint) на CodePen.
Значение по умолчанию для этого свойства — авто
.В этом случае текст внутри последней строки выравнивается с использованием значения свойства text-align
, если для параметра text-align
установлено значение justify
. Если установлено значение с выравниванием по ширине
, текст будет выровнен по ширине, только если значение свойства с выравниванием текста по ширине
установлено равным распространить
. В противном случае текст выравнивается по началу.
Очки, заслуживающие внимания
В спецификации говорится, что для свойства text-align
должно быть установлено значение justify
, чтобы text-align-last
работало.Однако, похоже, только IE и Edge реализуют это правило. Свойство работает как в Firefox, так и в Chrome без установки выравнивания текста
до выравнивания
. В следующей демонстрации весь текст должен быть выровнен по правому краю в Edge и IE. В других браузерах последние строки будут выровнены на основе значения text-align-last
, а остальные строки будут выровнены по правому краю.
См. Pen text-align-last — Example 4 от SitePoint (@SitePoint) на CodePen.
Вам может показаться, что результаты не такие привлекательные, как при установке выравнивания текста
на выравнивания по ширине
.Таким образом, в большинстве случаев вы, вероятно, все равно будете выровнять по ширине
текста.
Свойство по-прежнему работает, даже если разрыв строки вызван, скажем, тегом –
или чем-то в этом роде. Вы также должны иметь в виду, что это свойство будет выравнивать все последние строки текста внутри указанного элемента, а не только абсолютную последнюю строку содержимого. Например, если текст внутри элемента article
или div
имеет 3 абзаца, последняя строка каждого из них будет выровнена на основе text-align-last
.
Если вы намереваетесь просто выровнять абсолютную последнюю строку вашего контента, то в зависимости от ситуации вы можете использовать селектор : last-child
или : last-of-type
. В качестве примера возьмите код из демонстрации ниже:
статья {
выравнивание текста: выравнивание;
}
article p: last-of-type {
выравнивание текста последний: право;
}
Выравнивает последнюю строку последнего абзаца нашей статьи по правому краю. Остальные строки выравниваются на основе значения свойства text-align
.
См. Pen text-align-last — Example 5 от SitePoint (@SitePoint) на CodePen.
Точно так же вы также можете использовать другие селекторы, такие как : четный
и : нечетный
, для попеременного изменения выравнивания.
Иногда у вас будет контент, в котором последняя строка и первая строка абзаца совпадают. Другими словами, в абзаце всего одна строка. В этом случае, если вы указали значения как для свойства text-align
, так и для свойства text-align-last
, свойство text-align-last
будет иметь приоритет.Единственное исключение — когда text-align
указывает явное выравнивание первой строки
с использованием значения «start end».
Рассмотрим фрагмент кода ниже:
п {
выравнивание текста: выравнивание;
}
p: nth-of-type (2) {
выравнивание текста последний: слева;
}
Если второй абзац в этом случае состоит только из одной строки, тогда текст будет выровнен по левому краю, а не по ширине, потому что text-align-last
будет иметь приоритет. Демо ниже показывает приведенный выше CSS в действии вместе с двумя другими примерами.
См. Pen text-align-last — Example 6 от SitePoint (@SitePoint) на CodePen.
Поддержка браузера
Рассмотрев все важные аспекты этого свойства, давайте обсудим поддержку браузера. Поддержка этого свойства может быть включена с помощью «Включить экспериментальные функции веб-платформы» как в Chrome, так и в Opera начиная с версий 35 и 22 соответственно. Он полностью поддерживается Chrome и Opera начиная с версий 47 и 34.
Чтобы использовать это свойство в Firefox, вам необходимо использовать версию с префиксом -moz-
.Значения начало
и конец
не поддерживаются Internet Explorer. Однако Edge полностью поддерживает это свойство. Одним из примечательных браузеров, который вообще не поддерживает text-align-last
, является Safari. Вы можете узнать больше о поддержке браузеров здесь.
При общей поддержке 61,85% не помешает начать использовать это свойство. Пользователи с неподдерживаемыми браузерами никакой разницы не заметят.
Заключение
Хотя вы можете использовать text-align-last
для правильного выравнивания текста в статье, еще один интересный вариант использования — это правильно выровнять многострочные подписи к изображениям.Если у вас есть какие-либо другие варианты использования этого свойства или у вас есть какие-либо вопросы, поделитесь ими с нами в комментариях.