Разделы сайта
Выбор редакции:
- Почему не осуществляется вход в Skype
- Функции преобразования строк
- Новые функции работы со строками Неверное количество категорий в исходной строке 1с
- Несколько вариантов поиска ошибок и решений
- История почты и почтовых марок чили Иностранные почтовые отделения
- ВКонтакте Украина: вход закрыт
- Почему флешка не отображается в моем компьютере: что делать?
- Как полностью удалить записи со стены ВК?
- Как настроить выключение компьютера по расписанию в Windows!
- Преобразование PDF в презентацию Преобразование файла pdf в формат ppt
Реклама
Css выбор селекторов p i. Селекторы CSS |
CSS (Cascading Style Sheets) — язык таблиц стилей, который позволяет прикреплять стиль (например, шрифты и цвет) к структурированным документам (например, документам HTML и приложениям XML). Обычно CSS-стили используются для создания и изменения стиля элементов веб-страниц и пользовательских интерфейсов, написанных на языках HTML и XHTML, но также могут быть применены к любому виду XML-документа, в том числе XML, SVG и XUL. Отделяя стиль представления документов от содержимого документов, CSS упрощает создание веб-страниц и обслуживание сайтов. CSS поддерживает таблицы стилей для конкретных носителей, поэтому авторы могут адаптировать представление своих документов к визуальным браузерам, слуховым устройствам, принтерам, брайлевским устройствам, карманным устройствам и т.д. Каскадные таблицы стилей описывают правила форматирования элементов с помощью свойств и допустимых значений этих свойств. Для каждого элемента можно использовать ограниченный набор свойств, остальные свойства не будут оказывать на него никакого влияния. Объявление стиля состоит из двух частей: селектора и объявления . В HTML имена элементов нечувствительны к регистру, поэтому «h1» работает так же, как и «H1». Объявление состоит из двух частей: имя свойства (например, color) и значение свойства (grey). Селектор сообщает браузеру, какой именно элемент форматировать, а в блоке объявления (код в фигурных скобках) перечисляются форматирующие команды — свойства и их значения. Рис. 1. Структура объявленияХотя приведенный пример пытается влиять только на пару свойств, необходимых для рендеринга HTML-документа, он сам по себе квалифицируется как таблица стилей. В сочетании с другими таблицами стилей (одна фундаментальная особенность CSS заключается в том, что таблицы стилей объединяются), правило будет определять окончательное представление документа. Виды каскадных таблиц стилей и их специфика1. Виды таблиц стилей1.1. Внешняя таблица стилейВнешняя таблица стилей представляет собой текстовый файл с расширением.css , в котором находится набор CSS-стилей элементов. Файл создаётся в редакторе кода, так же как и HTML-страница. Внутри файла могут содержатся только стили, без HTML-разметки. Внешняя таблица стилей подключается к веб-странице с помощью тега , расположенного внутри раздела . Такие стили работают для всех страниц сайта.К каждой веб-странице можно присоединить несколько таблиц стилей, добавляя последовательно несколько тегов , указав в атрибуте тега media назначение данной таблицы стилей. rel="stylesheet" указывает тип ссылки (ссылка на таблицу стилей).
Атрибут type="text/css" не является обязательным по стандарту HTML5, поэтому его можно не указывать. Если атрибут отсутствует, по умолчанию используется значение type="text/css" . 1.2. Внутренние стилиВнутренние стили встраиваются в раздел HTML-документа и определяются внутри тега . Внутренние стили имеют приоритет над внешними, но уступают встроенным стилям (заданным через атрибут style).... 1.3. Встроенные стилиКогда мы пишем встроенные стили , мы пишем CSS-код в HTML-файл, непосредственно внутри тега элемента с помощью атрибута style:
Обратите внимание на этот текст. Такие стили действуют только на тот элемент, для которого они заданы. 1.4. Правило @importПравило @import позволяет загружать внешние таблицы стилей. Чтобы директива @import работала, она должна располагаться в таблице стилей (внешней или внутренней) перед всеми остальными правилами:
Правило @import также используется для подключения веб-шрифтов: @import url(https://fonts.googleapis.com/css?family=Open+Sans&subset=latin,cyrillic); 2. Виды селекторовСелекторы представляют структуру веб-страницы. С их помощью создаются правила для форматирования элементов веб-страницы. Селекторами могут быть элементы, их классы и идентификаторы, а также псевдоклассы и псевдоэлементы. 2.1. Универсальный селекторСоответствует любому HTML-элементу. Например, * {margin: 0;} обнулит внешние отступы для всех элементов сайта. Также селектор может использоваться в комбинации с псевдоклассом или псевдоэлементом: *:after {CSS-стили} , *:checked {CSS-стили} . 2.2. Селектор элементаСелекторы элементов позволяют форматировать все элементы данного типа на всех страницах сайта. Например, h1 {font-family: Lobster, cursive;} задаст общий стиль форматирования всех заголовков h1 . 2.3. Селектор классаСелекторы класса позволяют задавать стили для одного и более элементов с одинаковым именем класса, размещенных в разных местах страницы или на разных страницах сайта. Например, для создания заголовка с классом headline необходимо добавить атрибут class со значением headline в открывающий тег и задать стиль для указанного класса. Стили, созданные с помощью класса, можно применять к другим элементам, не обязательно данного типа..headline { text-transform: uppercase; color: lightblue; } Если элемент имеет несколько атрибутов класса, их значения объединяются с пробелами.
Инструкция пользования персональным компьютером2.4. Селектор идентификатораСелектор идентификатора позволяет форматировать один конкретный элемент. Значение id должно быть уникальным, на одной странице может встречаться только один раз и должно содержать хотя бы один символ. Значение не должно содержать пробелов. Нет никаких других ограничений на то, какую форму может принимать id , в частности, идентификаторы могут состоять только из цифр, начинаться с цифры, начинаться с подчеркивания, состоять только из знаков препинания и т. д. Уникальный идентификатор элемента может использоваться для различных целей, в частности, как способ ссылки на конкретные части документа с использованием идентификаторов фрагментов, как способ нацеливания на элемент при создании сценариев и как способ стилизации конкретного элемента из CSS. #sidebar { width: 300px; float: left; } 2.5. Селектор потомкаСелекторы потомков применяют стили к элементам, расположенным внутри элемента-контейнера. Например, ul li {text-transform: uppercase;} — выберет все элементы li , являющиеся потомками всех элементов ul . Если нужно отформатировать потомки определенного элемента, этому элементу нужно задать стилевой класс: p.first a {color: green;} — данный стиль применится ко всем ссылкам, потомкам абзаца с классом first ; p .first a {color: green;} — если добавить пробел, то будут стилизованы ссылки, расположенные внутри любого тега класса.first , который является потомком элемента First a {color: green;} — данный стиль применится к любой ссылке, расположенной внутри другого элемента, обозначенного классом.first . 2.6. Дочерний селекторДочерний элемент является прямым потомком содержащего его элемента. У одного элемента может быть несколько дочерних элементов, а родительский элемент у каждого элемента может быть только один. Дочерний селектор позволяет применить стили только если дочерний элемент идёт сразу за родительским элементом и между ними нет других элементов, то есть дочерний элемент больше ни во что не вложен. 2.7. Сестринский селекторСестринские отношения возникают между элементами, имеющими общего родителя. Селекторы сестринских элементов позволяют выбрать элементы из группы элементов одного уровня. h1 + p — выберет все первые абзацы, идущие непосредственно за любым тегом , не затрагивая остальные абзацы;h1 ~ p — выберет все абзацы, являющиеся сестринскими по отношению к любому заголовку h1 и идущие сразу после него. 2.8. Селектор атрибутаСелекторы атрибутов выбирают элементы на основе имени атрибута или значения атрибута: [атрибут] — все элементы, содержащие указанный атрибут, — все элементы, для которых задан атрибут alt ; селектор[атрибут] — элементы данного типа, содержащие указанный атрибут, img — только картинки, для которых задан атрибут alt ; селектор[атрибут="значение"] — элементы данного типа, содержащие указанный атрибут с конкретным значением, img — все картинки, название которых содержит слово flower ; селектор[атрибут~="значение"] — элементы частично содержащие данное значение, например, если для элемента задано несколько классов через пробел, p — абзацы, имя класса которых содержит feature ; селектор[атрибут|="значение"] — элементы, список значений атрибута которых начинается с указанного слова, p — абзацы, имя класса которых feature или начинается на feature ; селектор[атрибут^="значение"] — элементы, значение атрибута которых начинается с указанного значения, a — все ссылки, начинающиеся на http:// ; селектор[атрибут$="значение"] — элементы, значение атрибута которых заканчивается указанным значением, img — все картинки в формате png ; селектор[атрибут*="значение"] — элементы, значение атрибута которых содержит в любом месте указанное слово, a — все ссылки, название которых содержит book . 2.9. Селектор псевдоклассаПсевдоклассы — это классы, фактически не прикрепленные к HTML-тегам. Они позволяют применить CSS-правила к элементам при совершении события или подчиняющимся определенному правилу. Псевдоклассы характеризуют элементы со следующими свойствами: :hover — любой элемент, по которому проводят курсором мыши; :focus — интерактивный элемент, к которому перешли с помощью клавиатуры или активировали посредством мыши; :active — элемент, который был активизирован пользователем; :valid — поля формы, содержимое которых прошло проверку в браузере на соответствие указанному типу данных; :invalid — поля формы, содержимое которых не соответствует указанному типу данных; :enabled — все активные поля форм; :disabled — заблокированные поля форм, т.е., находящиеся в неактивном состоянии; :in-range — поля формы, значения которых находятся в заданном диапазоне; :out-of-range — поля формы, значения которых не входят в установленный диапазон; :lang() — элементы с текстом на указанном языке; :not(селектор) — элементы, которые не содержат указанный селектор — класс, идентификатор, название или тип поля формы — :not() ; :target — элемент с символом # , на который ссылаются в документе; :checked — выделенные (выбранные пользователем) элементы формы. 2.10. Селектор структурных псевдоклассовСтруктурные псевдоклассы отбирают дочерние элементы в соответствии с параметром, указанным в круглых скобках: :nth-child(odd) — нечётные дочерние элементы; :nth-child(even) — чётные дочерние элементы; :nth-child(3n) — каждый третий элемент среди дочерних; :nth-child(3n+2) — выбирает каждый третий элемент, начиная со второго дочернего элемента (+2) ; :nth-child(n+2) — выбирает все элементы, начиная со второго; :nth-child(3) — выбирает третий дочерний элемент; :nth-last-child() — в списке дочерних элементов выбирает элемент с указанным местоположением, аналогично с:nth-child() , но начиная с последнего, в обратную сторону; :first-child — позволяет оформить только самый первый дочерний элемент тега; :last-child — позволяет форматировать последний дочерний элемент тега; :only-child — выбирает элемент, являющийся единственным дочерним элементом; :empty — выбирает элементы, у которых нет дочерних элементов; :root — выбирает элемент, являющийся корневым в документе — элемент html . 2.11. Селектор структурных псевдоклассов типаУказывают на конкретный тип дочернего тега: :nth-of-type() — выбирает элементы по аналогии с:nth-child() , при этом берёт во внимание только тип элемента; :first-of-type — выбирает первый дочерний элемент данного типа; :last-of-type — выбирает последний элемент данного типа; :nth-last-of-type() — выбирает элемент заданного типа в списке элементов в соответствии с указанным местоположением, начиная с конца; :only-of-type — выбирает единственный элемент указанного типа среди дочерних элементов родительского элемента. 2.12. Селектор псевдоэлементаПсевдоэлементы используются для добавления содержимого, которое генерируется с помощью свойства content: :first-letter — выбирает первую букву каждого абзаца, применяется только к блочным элементам; :first-line — выбирает первую строку текста элемента, применяется только к блочным элементам; :before — вставляет генерируемое содержимое перед элементом; :after — добавляет генерируемое содержимое после элемента. 3. Комбинация селекторовДля более точного отбора элементов для форматирования можно использовать комбинации селекторов: img:nth-of-type(even) — выберет все четные картинки, альтернативный текст которых содержит слово css . 4. Группировка селекторовОдин и тот же стиль можно одновременно применить к нескольким элементам. Для этого необходимо в левой части объявления перечислить через запятую нужные селекторы: H1, h2, p, span { color: tomato; background: white; } 5. Наследование и каскадНаследование и каскад — два фундаментальных понятия в CSS, которые тесно связаны между собой. Наследование заключается в том, что элементы наследуют свойства от своего родителя (элемента, их содержащего). Каскад проявляется в том, как разные виды таблиц стилей применяются к документу, и как конфликтующие правила переопределяют друг друга. 5.1. НаследованиеНаследование является механизмом, с помощью которого определенные свойства передаются от предка к его потомкам. Спецификацией CSS предусмотрено наследование свойств, относящихся к текстовому содержимому страницы, таких как color , font , letter-spacing , line-height , list-style , text-align , text-indent , text-transform , visibility , white-space и word-spacing . Во многих случаях это удобно, так как не нужно задавать размер шрифта и семейство шрифтов для каждого элемента веб-страницы. Свойства, относящиеся к форматированию блоков, не наследуются. Это background , border , display , float и clear , height и width , margin , min-max-height и -width , outline , overflow , padding , position , text-decoration , vertical-align и z-index . Принудительное наследованиеС помощью ключевого слова inherit можно принудить элемент наследовать любое значение свойства родительского элемента. Это работает даже для тех свойств, которые не наследуются по умолчанию. Как задаются и работают CSS-стили1) Стили могут наследоваться от родительского элемента (наследуемые свойства или с помощью значения inherit); 2) Стили, расположенные в таблице стилей ниже, отменяют стили, расположенные в таблице выше; 3) К одному элементу могут применяться стили из разных источников. Проверить, какие стили применяются, можно в режиме разработчика браузера. Для этого над элементом нужно щёлкнуть правой кнопкой мыши и выбрать пункт «Посмотреть код» (или что-то аналогичное). В правом столбце будут перечислены все свойства, которые заданы для этого элемента или наследуются от родительского элемента, а также файлы стилей, в которых они указаны, и порядковый номер строки кода. Рис. 2. Режим разработчика в браузере Google Chrome 4) При определении стиля можно использовать любую комбинацию селекторов — селектор элемента, псевдокласса элемента, класса или идентификатора элемента. div {border: 1px solid #eee;} #wrap {width: 500px;} .box {float: left;} .clear {clear: both;} 5.2. КаскадКаскадирование — это механизм, который управляет конечным результатом в ситуации, когда к одному элементу применяются разные CSS-правила. Существует три критерия, которые определяют порядок применения свойств — правило!important , специфичность и порядок, в котором подключены таблицы стилей. Правило!importantВес правила можно задать с помощью ключевого слова!important , которое добавляется сразу после значения свойства, например, span {font-weight: bold!important;} . Правило необходимо размещать в конец объявления перед закрывающей скобкой, без пробела. Такое объявление будет иметь приоритет над всеми остальными правилами. Это правило позволяет отменить значение свойства и установить новое для элемента из группы элементов в случае, когда нет прямого доступа к файлу со стилями. СпецифичностьДля каждого правила браузер вычисляет специфичность селектора , и если у элемента имеются конфликтующие объявления свойств, во внимание принимается правило, имеющее наибольшую специфичность. Значение специфичности состоит из четырех частей: 0, 0, 0, 0 . Специфичность селектора определяется следующим образом: для
id добавляется 0, 1, 0, 0 ; H1 {color: lightblue;} /*специфичность 0, 0, 0, 1*/ em {color: silver;} /*специфичность 0, 0, 0, 1*/ h1 em {color: gold;} /*специфичность: 0, 0, 0, 1 + 0, 0, 0, 1 = 0, 0, 0, 2*/ div#main p.about {color: blue;} /*специфичность: 0, 0, 0, 1 + 0, 1, 0, 0 + 0, 0, 0, 1 + 0, 0, 1, 0 = 0, 1, 1, 2*/ .sidebar {color: grey;} /*специфичность 0, 0, 1, 0*/ #sidebar {color: orange;} /*специфичность 0, 1, 0, 0*/ li#sidebar {color: aqua;} /*специфичность: 0, 0, 0, 1 + 0, 1, 0, 0 = 0, 1, 0, 1*/ В результате к элементу применятся те правила, специфичность которых больше. Например, если на элемент действуют две специфичности со значениями 0, 0, 0, 2 и 0, 1, 0, 1 , то выиграет второе правило. Порядок подключённых таблицВы можете создать несколько внешних таблиц стилей и подключить их к одной веб-странице. Если в разных таблицах будут встречаться разные значения свойств одного элемента, то в результате к элементу применится правило, находящееся в таблице стилей, идущей в списке ниже. Ну для начала, скажу что селектор служит для того, чтобы однозначно определить элемент в html документе, к которому мы хотим применить тот или иной стиль CSS . Селектор по элементу До этого момента, мы с вами работали именно с этим селектором.Т.е. в качестве селектора использовалось непосредственно имя html элемента, к которому мы хотели применить данный стиль. Т.е. написав класс например для параграфа(Р) , все параграфы на странице приобретали стиль данного класса. P
{ А теперь представьте ситуацию, когда необходимо сделать первый параграф в одном стиле, второй в другом, третий в третьем и.т.д. Тут нам на помощь придет селектор по классу . Селектор по классу Давайте разберем как создать универсальный класс в CSS . А сделать это очень просто: сначала ставим точку, затем сразу, без пробела,пишем имя класса, ну а затем в фигурных скобках стиль. Ну например: .green
{ Как применить данный стиль? Допустим мы хотим применить данный стиль к определенному параграфу в документе. Вот как это будет выглядеть в html: class ="green "> ... текст параграфа... Как видите используется атрибут class со значением названия стиля. Понятно? вот вам еще примерчик: Это обычный параграф, для него используется селектор по элементу Class ="green "> Этот параграф зеленый, т.к к нему применили класс Class ="big_red " > А этот параграф большего шрифта и красный Этот параграф снова обычный, по классу селектора элемента p
{ Указываем сначала базовый стиль для всех параграфов(селектор по элементу), а потом уже, если хотим в каком-либо параграфе что-то изменить, создаем для него специальный стиль (селектор по классу) и присваиваем его этому параграфу. Когда мы создаем этот самый специальный класс, мы должны писать туда только те свойства, которые хотим добавить, или изменить, по отношению к базовому стилю для этого элемента. Классы из примера выше, можно применить не только к параграфу, но и например к заголовкам, или например к ячейке таблицы, или ко всей таблице, короче они могут применяться везде, где они могут на что-то повлиять (в данном случае везде, где есть параметр цвет, и текст). Сделать так, чтобы класс действовал только на определенный элемент(например параграф) можно указав название элемента перед точкой: P.green {color:green;} Теперь класс green не будет действовать ни на что другое, кроме элемента P. НаверхСелектор по id Данный селектор применяется если необходимо выделить один единственный элемент, уникальный,отличный от всех остальных в документе. К примеру, выделим первый заголовок на странице определенным образом: html- часть: <Н1 id ="firstheader "> Первый заголовок на странице Н1> css - часть: H1 #firstheader { color: red; font-weight: bold; text-align: center } Как видите в html-части вместо атрибута class здесь употребляется атрибут id , а в css - вместо точки употребляется знак #. В принципе, то же самое можно сделать и с использованием селектора по классу, это уже кому как больше нравится:) НаверхКонтекстный селектор Это очень полезная вещь. Допустим у нас есть страничка с таблицами и параграфами текста, причем и в таблице, и в параграфах встречаются выделенные жирным шрифтом(strong) слова. И вот, нам резко понадобилось сделать так, чтобы слова, в параграфе, которые выделены жирным стали зеленого цвета. Так вот. Поскольку мы не хотим стилизовать все наши элементы HTML одновременно, нам требуется возможность выбрать подмножество этих элементов. Селекторы CSS определяют, к каким элементам мы хотим применить стиль. Базовые селекторы теговНацелиться на базовые теги HTML легко: просто используйте имя тега. Есть прямая связь между именем тега HTML и используемым селектором CSS. КлассыУчитывая, что мы, вероятно, не желаем стилизовать все абзацы или все заголовки одинаково, нам надо их различать. Из всех атрибутов HTML атрибут class является наиболее важным для CSS. Он позволяет определить группу элементов HTML, на которые мы можем точно нацелиться. Просто поставьте точку перед именем класса который вы хотите использовать: Date { color: red; } С другой стороны есть атрибут HTML class со значением date . Он должен совпадать с именем класса CSS. Вы можете использовать любое имя для вашего класса, но оно не должно начинаться с цифры. Селектор класса .date будет нацелен на все элементы HTML с атрибутом class="date" . Таким образом, следующие элементы HTML все будут стилизованы: Мероприятие произойдёт в субботу. Имейте в виду, что имя тега не важно , учитывается только атрибут class . ИдентификаторыМожно также использовать атрибут id в вашем HTML и определить его в вашем CSS с помощью решётки: #tagline{ color: orange;}
Этот заголовок будет оранжевым.Идентификаторы похожи на классы, так как они тоже основаны на атрибуте HTML. ПримерОбъединение селекторовДавайте воспользуемся нашим предыдущим примером, в котором мы хотим сделать наши даты красными: Мероприятие произойдёт в субботу. Если мы захотим вместо этого, чтобы наши даты внутри отображались синим цветом? Мы можем добавить следующее правило CSS: Em.date { color: blue; } em.date объединяет в себе:
Он будет применяться только к элементам . Это не повлияет на другие .date или . Иерархия селекторовПробел в селекторе определяет отношение предок/потомок. Скажем, мы хотим, чтобы ссылки в нашем заголовке были красного цвета: Header a { color: red; } ПсевдоклассыЭлементы HTML могут иметь разные состояния. Наиболее распространённый случай - когда вы наводите курсор на ссылку. В CSS возможно применить другой стиль, когда происходит такое событие. Псевдоклассы привязаны к обычным селекторам и начинаются с двоеточия. Последнее обновление: 21.04.2016 Определение стиля начинается с селектора. Например: Div{ width:50px; /* ширина */ height:50px; /* высота */ background-color:red; /* цвет фона */ margin: 10px; /* отступ от других элементов */ } В данном случае селектором является div . Ряд селекторов наследуют название форматируемых элементов, например, div, p, h2 и т. д. При определении такого селектора его стиль будет применяться ко всем элементам соответствующих данному селектору. То есть выше определенный стиль будет применяться ко всем элементам на веб-странице:
Селекторы CSSЗдесь на странице 3 элемента div, и все они будут стилизованы: КлассыИногда для одних и тех же элементов требуется различная стилизация. И в этом случае мы можем использовать классы. Для определения селектора класса в CSS перед названием класса ставится точка: RedBlock{ background-color:red; } Название класса может быть произвольным. Например, в данном случае название класса - "redBlock". Однако при этом в имени класса разрешается использовать буквы, числа, дефисы и знаки подчеркивания, причем начинать название класса должно обязательно с буквы. Также стоит учитывать регистр имен: названия "article" и "ARTICLE" будут представлять разные классы. После определения класса мы можем его применить к элементу с помощью атрибута class . Например:
Определим и используем несколько классов:
Классы CSSИдентификаторыДля идентификации уникальных на веб-станице элементов используются идентификаторы, которые определяются с помощью атрибутов id. Например, на странице может быть головной блок или шапка:
Определение стилей для идентификаторов аналогично определению классов, только вместо точки ставится символ решетки #:
Шапка сайта
Основное содержимое
Однако стоит заметить, что идентификаторы в большей степени относятся к структуре веб-странице и в меньшей степени к стилизации. Для стилизации преимущественно используются классы, нежели идентификаторы. Универсальный селекторКроме селекторов тегов, классов и идентификаторов в css также есть так называемый универсальный селектор , который представляет знак звездочки (*). Он применяет стили ко всем элементам на html-странице: *{ background-color: red; } Стилизация группы селекторовИногда определенные стили применяются к целому ряду селекторов. Например, мы хотим применить ко всем заголовкам подчеркивание. В этом случае мы можем перечислить селекторы всех элементов через запятую:
CSS3СелекторыГруппа селекторовНекоторый текст... Группа селекторов может содержать как селекторы тегов, так и селекторы классов и идентификаторов, например: H1, #header, .redBlock{ color: red; } Язык описания внешнего вида документа CSS постоянно развивается. Со временем растут не только его мощность и функциональность, повышаются также гибкость и удобство использования. Начнем разбираться. Откройте любой учебник CSS, как минимум один раздел в нем будет посвящен видам селекторов. В этом нет ничего удивительного, поскольку они являются одним из самых удобных способов управления контентом страницы. С их помощью можно взаимодействовать с абсолютно любыми элементами HTML. Сейчас существует 7 видов селекторов:
Синтаксис прост. Чтобы научиться использовать достаточно прочитать о них. Какой вариант лучше выбрать для контроля контента в вашем случае? Попробуем разобраться. Селекторы тэговЭто максимально простой вариант, который не требует особых знаний для записи. Чтобы управлять тегами, нужно использовать их название. Предположим, что «шапка» вашего сайта обернута в тег Достоинства - простота использования, универсальность. Недостатки - полное отсутствие гибкости. В вышеописанном примере будут выбраны сразу все теги header. А что если нужно управлять только одним? Селекторы классаСамый распространенный вариант. Предназначен для управления тегами с атрибутом class. Предположим, в вашем коде есть три блока , каждому из которых нужно задать определенный цвет. Как это сделать? Стандартные CSS selectors по тегам не подойдут, они указывают параметры для всех блоков сразу. Выход прост. Назначьте элементам класс. Например, первый div получил class=’red’, второй - class=’blue’, третий - class=’green’. Теперь их можно выбрать, используя таблицы CSS.
Синтаксис таков: указываем точку («.»), после которой пишем название класса. Чтобы управлять первым блоком, используем конструкцию.red. Вторым - .blue и так далее. Важно! Рекомендуется использовать понятные значения атрибута class. Дурным тоном считается использование транслита (например, krasiviy-blok) или случайных комбинаций букв/цифр (ojfh834871). В таком коде вы обязательно запутаетесь, не говоря уже о том, с какими трудностями придется столкнуться тем, кто будет заниматься проектом после вас. Оптимальный вариант - использовать какую-нибудь методологию, вроде БЭМ. Достоинства - довольно высокая гибкость. Недостатки - у нескольких элементов может быть один и тот же класс, а значит, они будут редактироваться одновременно. Проблема решается использованием методологии, а также наследованием препроцессоров. Обязательно освойте less, sass или какой-нибудь другой препроцессор, они сильно упростят работу. Селектор по IDНасчет этого варианта мнения верстальщиков и программистов неоднозначны. Некоторые учебники CSS вообще не рекомендуют использовать ID, поскольку при неаккуратном применении они могут вызвать проблемы с наследованием. Однако многие специалисты активно расставляют их по всей разметке. Решать вам. Синтаксис таков: символ решетки (« # »), затем имя блока. Например, #red. ID отличается от класса по нескольким параметрам. Во-первых, на странице не может быть двух одинаковых ID. Им назначаются уникальные имена. Во-вторых, такой селектор обладает более высоким приоритетом. Это значит, что если вы зададите блоку класс red и укажете в таблицах CSS красный а затем назначите ему же id blue и укажете синий цвет, блок станет синим. Достоинства - можно управлять конкретным элементом, не обращая внимания на стили для тегов и классов. Недостатки - легко запутаться в большом количестве ID и class. Важно! Если вы пользуетесь методологией БЭМ (или ее аналогами), ID вам, в общем-то, не нужны. Такая техника верстки подразумевает использование уникальных классов, что гораздо удобнее. Универсальный селекторСинтаксис: знак зведочки («*») и фигурные скобки, т. е. * {}. Используется для назначения определенных атрибутов сразу всем элементам страницы. Когда это может пригодиться? Например, если вы хотите задать странице свойство box-sizing: border-box. Может использоваться не только для управления всеми компонентами документа, но и для контроля всеми дочерними элементами определенного блока, например, div *{}. Достоинства - можно управлять большим количеством элементов одновременно. Недостатки - недостаточно гибкий вариант. Вдобавок, использование этого селектора в некоторых случаях замедляет работу страницы. По атрибутамДают возможность управлять элементом с конкретным атрибутом. Например, у вас есть несколько тегов input с разным атрибутом type. Один из них - text, второй - password, третий - number. Конечно, можно задать каждому классы или ID, но это не всегда удобно. CSS selectors по атрибутам дают возможность указать значения для определенных тегов с максимальной точностью. Например, вот так: input{} Этот селектор атрибутов выберет все input с типом text. Инструмент довольно гибкий, его можно использовать с любыми тегами, у которых возможно наличие атрибутов. Но и это еще не все! В спецификации CSS есть возможность управлять элементами даже с большим удобством! Представим, что на вашей странице есть input с атрибутом placeholder=“Введите имя“ и input placeholder=“Введите пароль“. Их также можно выбрать с помощью селектора! Для этого используется следующая конструкция: input{} или input Возможна более гибкая работа с атрибутами. Допустим, у вас есть несколько тегов с похожими атрибутами title (скажем, «каспийский» и «каспийская»). Чтобы выбрать оба, используем следующие селекторы: CSS выберет все элементы, в тайтле которых имеются символы «каспийск», т. е. и «каспийский», и «каспийская». Также можно выбирать теги, атрибуты которых начинаются с определенных символов: или заканчиваются ими: {}. Достоинства - максимальная гибкость. Можно выбирать любые существующие элементы страницы без возни с классами. Недостатки - используется относительно редко, только в специфических случаях. Многие верстальщики предпочитают методологии, поскольку указать класс бывает проще, чем расставлять многочисленные и знаки «равно». Вдобавок, эти селекторы не работают в Internet Explorer версии 7 и ниже. Впрочем, кому сейчас нужны старые Internet Explorer? Селекторы псевдоклассовПсевдокласс обозначает состояние элемента. Например, :hover - то, что происходит с частью страницы при наведении курсора, :visited - посещенная ссылка. Сюда же входят элементы вроде:first-child и:last-child. Этот тип селекторов активно применяется в современной верстке, поскольку благодаря ему можно сделать страницу «живой» без применения JavaScript. Например, вы хотите сделать так, чтобы при наведении на кнопку с классом btn ее цвет менялся. Для этого используем следующую конструкцию: Btn:hover { Background-color: red; Для красоты можно указать в основных свойствах этой кнопки свойство transition, например, в 0,5s - в таком случае кнопка будет краснеть не мгновенно, а в течение полусекунды. Достоинства - активно используются для «оживления» страниц. Просты в применении. Недостатки - их нет. Это действительно удобное средство. Однако неопытные верстальщики могут запутаться в обилии псевдоклассов. Проблема решается учебой и практикой. Селекторы псевдоэлементов«Псевдоэлементы» - это те части страницы, которых нет в HTML, но ими все равно можно управлять. Ничего не поняли? Все проще, чем кажется. Например, вы хотите сделать первую букву в строке большой и красной, оставив прочий текст маленьким и черным. Конечно, можно заключить эту букву в span с определенным классом, но это долго и скучно. Гораздо проще выделить весь абзац и использовать псевдоэлемент::first-letter. Он дает возможность управлять внешним видом первой буквы. Существует довольно большое количество псевдоэлементов. Перечислить их в рамках одной статьи вряд ли получится. Вы можете найти соответствующую информацию в любимом поисковике. Достоинства - дают возможность гибко настраивать внешний вид страницы. Недостатки - новички в них часто путаются. Многие селекторы этого типа работают только в определенных браузерах. Подведем итогСелектор - мощное средство контроля потока документа. Благодаря ему можно выбрать абсолютно каждый компонент страницы (даже существующий лишь условно). Обязательно выучите все имеющиеся варианты или хотя бы запишите их. Это особенно важно, если вы создаете сложные страницы с современным дизайном и большим количеством интерактивных элементов. |
Читайте: |
---|
Популярное:
Новое
- Функции преобразования строк
- Новые функции работы со строками Неверное количество категорий в исходной строке 1с
- Несколько вариантов поиска ошибок и решений
- История почты и почтовых марок чили Иностранные почтовые отделения
- ВКонтакте Украина: вход закрыт
- Почему флешка не отображается в моем компьютере: что делать?
- Как полностью удалить записи со стены ВК?
- Как настроить выключение компьютера по расписанию в Windows!
- Преобразование PDF в презентацию Преобразование файла pdf в формат ppt
- Элементы web-страницы Элементы веб-страниц: заголовок