Ксс что такое: что такое CSS — статьи на Skillbox / Skillbox Media

Содержание

Что такое CSS, для чего нужны каскадные таблицы стилей CSS

CSS – это язык, с помощью которого описывается внешний вид документа HTML, XML, XHTML. Название означает «каскадная таблица стилей», или Cascading Style Sheets. CSS-стили незаменимы при оформлении страниц сайтов: в одном файле содержатся сведения об отображении всех элементов документа.

Для чего используется CSS

По сути, таблица стилей – это файл, где описывается, как будет выглядеть каждый из элементов на странице. В HTML-документе, таким образом, остается только структура странички: сами блоки, их содержимое и расположение. Создать страницу и оформить ее можно и без использования таблиц, прописывая визуальные свойства каждого элемента в его описании. Но, если страниц сотни и тысячи, применять такой метод неудобно: при изменении оформления приходится менять множество документов, вдобавок это загромождает верстку. Поэтому использование CSS считается золотым стандартом оформления сайтов: так получилось благодаря гибкости и многообразию возможностей каскадных таблиц.

Преимущества CSS

  • Это существенно упрощает верстку и снижает временные затраты. Один созданный файл стилей можно распространить на множество страниц, так что внешний вид элементов достаточно описать один раз.
  • Если что-то нужно изменить, достаточно внести правки в один файл. Это касается и изменений в оформлении, и найденных ошибок.
  • Применение CSS серьезно облегчает структуру документа, что хорошо и для пользователей, и для поисковых программ.
  • Вариативность оформления становится шире. CSS поддерживает намного больше возможностей, чем имеется при использовании чистого HTML, вдобавок к одной странице можно применить несколько стилей в зависимости от обстоятельств (размер монитора пользователя, устройство, с которого выполнен вход, – ПК или мобильное).
  • Страницы начинают загружаться быстрее: браузер кеширует таблицу стилей при первом посещении сайта, при последующих подгружаются только данные, что намного быстрее.

Как развивалась технология

Начало было положено в 1990-х, когда консорциум W3C решил, что технология, позволяющая разделять содержание и представление документов, необходима. Стандарт CSS1 появился в 1996 году и позволял изменять с помощью таблиц параметры шрифтов, цвета элементов, свойства блоков и текстов, такие как отступы и выравнивание. Длина и ширина блоков задавались там же. С развитием интернета появились новые уровни:

  • CSS2. Стандарт расширил технические возможности, дал возможность работать с аудио и страничными носителями (например, при печати документов), включил в себя поддержку блочной структуры и генерируемого содержимого;
  • CSS3. Еще более масштабное расширение, находится в разработке до сих пор, поддерживает сглаживание, градиенты, тени и анимацию, для этого не приходится использовать JavaScript;
  • CSS4. Находится в разработке, новые модули пока доступны как черновики. Дополняют предыдущие версии новыми расширениями и значениями.

Синтаксис и структура

Файл CSS сводится к набору правил, описанных по определенному синтаксису. Правило состоит из селекторной части и блока объявлений: ими описываются всевозможные элементы страницы. Формат примерно таков: селектор { параметр: значение }.

Селекторы. Указывают, к каким элементам будут применяться те или иные параметры стиля. Пишутся в начале строки, по сути, являются названиями тегов, для которых справедливо правило.

  • Можно использовать любой тег, написанный латиницей.
  • Если вариантов стиля для одного типа элементов несколько, используются так называемые классы. У одного тега их может быть несколько (применяются все стили, что описаны в таблице). Запись в этом случае выглядит так: тег.Класс { параметр: значение }.
  • Есть возможность видоизменить только один конкретный элемент. Это делается с помощью идентификаторов – уникальных имен, которые можно присвоить элементам. Идентификатор будет использоваться как селектор.
  • Можно создавать правила, которые применяются к какому угодно тегу, если он входит в тот или иной класс. Строку нужно начать с .Класс без указания тега.

Блок объявлений. Все, что находится в фигурных скобках, по сути, сводится к указанию параметра и значения, которое ему нужно присвоить. К регистру, пробелам и табуляции нечувствителен.

Как подключить стили CSS

Элементы CSS можно использовать внутри HTML-документа с помощью тега <style> и атрибута type=»text/css» или за счет атрибута style без указания селектора. Но более распространенный способ – выносить стили в отдельный файл и подключать с помощью такой строчки: <link href=»ссылка на таблицу» rel=»stylesheet»>. Значение аргумента rel показывает, что это CSS-стили.

Другие термины на букву «C»

Все термины SEO-Википедии

Теги термина

Что такое селекторы CSS.

HTML-страницы, к которым могут применяться стили CSS, могут содержать огромное количество элементов.

Это могут быть:

+ Текст (вполоть для каждой буквы, каждого абзаца и.т.д.)

+  Изображения

+ Таблицы (каждая их строка, столбец или ячейка, и.т.д.)

+ Списки

+ и.т.д.

В общем, все эти и многие другие элементы, которые только можно видеть на веб-странице, можно оформлять и менять их внешний вид с помощью технологии CSS.

Некоторые из них вы можете видеть на изображении ниже, они выделены красными прямоугольниками.

Но, для того, чтобы применить какие-то конкретные стили, нужно сообщить браузеру, к какому элементу они будут применяться.

В технологии CSS это можно сделать с помощью так называемых селекторов.

Селекторы ( от англ. select — выбирать) — это элементы каскадной таблицы стилей CSS, которые указывают на тот элемент на веб-странице, к которому должны будут применяться стили.

Например, для того, чтобы выделить какой-то абзац в тексте красным цветом, в CSS-файле нужно с помощью селектора указать на него.

В CSS селекторы располагаются самой первой составляющей стиля.

Синтаксис здесь следующий:

селектор {
стили, которые будут применяться к элементу выбранному этим селектором
}

Сначала идет указание селектора, а за ним, уже в фигурных скобках, следуют стили, которые будут применяться к выбранному с помощью селекторов элементу.

По-сути, весь CSS-файл и состоит из таких конструкций, указания селекторов и стилей, которые к ним относятся.

селектор1 {
   стили
}

селектор2 {
   стили
}

селектор3 {
   стили
}
и.т.д.

Надеюсь, что общий смысл этого понятен. Впрочем, при дальнейшем изучении технологии CSS, все должно встать на свои места.

30 CSS-селекторов, о которых полезно помнить

  • Главная
  • ->
  • Материалы
  • ->
  • 30 CSS-селекторов, о которых полезно помнить

Reg.ru: домены и хостинг

Крупнейший регистратор и хостинг-провайдер в России.

Более 2 миллионов доменных имен на обслуживании.

Продвижение, почта для домена, решения для бизнеса.

Более 700 тыс. клиентов по всему миру уже сделали свой выбор.

Перейти на сайт->

Бесплатный Курс «Практика HTML5 и CSS3»

Освойте бесплатно пошаговый видеокурс

по основам адаптивной верстки

на HTML5 и CSS3 с полного нуля.

Начать->

Фреймворк Bootstrap: быстрая адаптивная вёрстка

Пошаговый видеокурс по основам адаптивной верстки в фреймворке Bootstrap.

Научитесь верстать просто, быстро и качественно, используя мощный и практичный инструмент.

Верстайте на заказ и получайте деньги.

Получить в подарок->

Бесплатный курс «Сайт на WordPress»

Хотите освоить CMS WordPress?

Получите уроки по дизайну и верстке сайта на WordPress.

Научитесь работать с темами и нарезать макет.

Бесплатный видеокурс по рисованию дизайна сайта, его верстке и установке на CMS WordPress!

Получить в подарок->

*Наведите курсор мыши для приостановки прокрутки.

Назад Вперед


30 CSS-селекторов, о которых полезно помнить

Итак, Вы разобрались с основными селекторами: id, class, селекторами потомков. И все? Если да, то Вы теряете очень много в плане гибкости управления внешним видом элементов на странице.

Несмотря на то, что многие из упомянутых здесь селекторов входят в спецификацию CSS3 и, соответственно, поддерживаются только современными браузерами, Вам все же следует ознакомиться с ними и держать их в памяти.

1. *


* {
 margin: 0;
 padding: 0;
}

Начнем с простейших вещей для новичков, прежде чем перейдем к продвинутым селекторам.

Символ звездочки позволяет выбрать все элементы на странице. Многие веб-разработчики используют это для «обнуления» всех внешних и внутренних отступов.

Также символ * можно использовать для дочерних элементов объекта.


#container * {
 border: 1px solid black;
}

Этот код нацелен на все элементы, которые являются дочерними по отношению к блоку с идентификатором container.

Совместимость:

* IE6+
* Firefox
* Chrome
* Safari
* Opera

2. #X


#container {
   width: 960px;
   margin: auto;
}

Символ решетки позволяет нам отбирать элементы по идентификатору. Это один из наиболее распространенных способов отбора элементов, однако будьте осторожны при его использовании.

«Спросите себя: Мне точно необходимо использовать id для какого-то элемента, чтобы сослаться на него?»

Селекторы id негибки и их трудно использовать повторно в разных проектах. Если возможно, пытайтесь сначала использовать имя тэга или даже псевдо-класс.

Совместимость:

* IE6+
* Firefox
* Chrome
* Safari
* Opera

3. .X

.error { color: red; }

Это селектор класса. Разница между id и классами в том, что с помощью классов можно выбирать сразу несколько элементов. Используйте классы, если Вам нужно применить один стиль к группе элементов.

В противном случае используйте id для нахождения «иголки в стоге сена» и применения стиля только к одному конкретному объекту.

Совместимость:

* IE6+
* Firefox
* Chrome
* Safari
* Opera

4. X Y


li a {
  text-decoration: none;
}

Следующий часто используемый тип селектора — селектор потомка. Его следует использовать, когда нужно производить более точечный отбор элементов.

К примеру, как быть, если нужно выбрать не все тэги ссылок, а только те, что находятся внутри неупорядоченного списка? Это как раз тот случай, когда следует использовать селектор потомка.

«Совет: Если Ваш селектор похож на X Y Z A B.error, то Вы, вероятно, что-то делаете на так. Всегда спрашивайте себя, действительно ли это самый простой способ»

Совместимость:

* IE6+
* Firefox
* Chrome
* Safari
* Opera

5. X

a {color: red;} ul {margin-left: 0px;}

Что, если Вы хотите сослать на все элементы определенного типа на странице, если у них нет id или классов? Делайте проще, используйте селекторы типа. Если Вам нужно выбрать все неупорядоченные списки, используйте ul{}.

Совместимость:

* IE6+
* Firefox
* Chrome
* Safari
* Opera

6. X:visited и X:link


a:link {color: red;}
a:visited {color: purple;}

Здесь мы используем псевдо-класс :link для выбора всех ссылок, на которых еще не был совершен клик.

Также есть псевдо-класс :visited, который, как Вы и ожидали, позволяет нам применить стиль только к тем ссылкам, по которым был совершен клик или переход.

Совместимость:

* IE7+
* Firefox
* Chrome
* Safari
* Opera

7. X + Y


ul + p {
   color: red;
}

Это так называемый смежный селектор. В этом случае каждый параграф следующий сразу после каждого элемента ul будет красного цвета.

Совместимость:

* IE7+
* Firefox
* Chrome
* Safari
* Opera

8. X > Y


#container > ul {
  border: 1px solid black;
}

Различие между X Y и X > Y в том, что последний выберет только прямых потомков. Рассмотрим следующий пример:


<div>
      <ul>
         <li>Элемент списка
           <ul>
              <li>Потомок</li>
           </ul>
         </li>
         <li>Элемент списка</li>
         <li>Элемент списка</li>
         <li>Элемент списка</li>
      </ul>
</div>

Селектор #container > ul выберет только те элементы ul, которые являются прямыми потомками блока div с идентификатором container. Т.е. в данном случае этот селектор не отберет элемент ul, который является потомком первого элемента li.

Совместимость:

* IE7+
* Firefox
* Chrome
* Safari
* Opera

9. X ~ Y


ul ~ p {
   color: red;
}

Эта комбинация сестринских (сиблинговых) элементов похожа на X + Y, но она менее строгая. Если в случае ul + p будут выбраны только первые элементы p, следующие за ul (т.е. наблюдается смежность в выборе), то рассматриваемый нами сейчас селектор более общий.

В нашем случае он отберет все элементы p, следующие за элементом ul.

Совместимость:

* IE7+
* Firefox
* Chrome
* Safari
* Opera

10. X[title]


a[title] {
   color: green;
}

Здесь мы обращаемся к атрибуту селектора. В нашем примере будут окрашены в зеленый цвет только ссылки, имеющие атрибут title.

Совместимость:

* IE7+
* Firefox
* Chrome
* Safari
* Opera

11. X[href=»foo»]


a[href="http://www.codeharmony.ru"] {
  color: red;
}

Код выше позволит придать стиль всем ссылкам, атрибут href у которых равен http://www.codeharmony.ru. Эти ссылки будут красного цвета. Остальные ссылки не получат данного стиля.

Это работает хорошо, но это немного негибко. Что, если ссылка на самом деле ведет на Codeharmony.ru но, возможно, адрес указан, как codeharmony.ru а не http://www.codeharmony.ru? В таких случаях мы можем использовать основы регулярных выражений.

Совместимость:

* IE7+
* Firefox
* Chrome
* Safari
* Opera

12. (карат). Он обычно используется в регулярных выражениях для обозначения начала строки. Если мы хотим отобрать ссылки, у которых атрибут href начинается с http, то мы можем использовать селектор из примера выше.

«Обратите внимание, что мы не ищем http://. Это необязательно и, к тому же, не учитывает ссылки по протоколу https://.»

Совместимость:

* IE7+
* Firefox
* Chrome
* Safari
* Opera

14. X[href$=».jpg»]


a[href$=".jpg"] {
   color: red;
}

И снова мы используем регулярное выражение и символ $ для того, чтобы обозначить конец строки. В данном примере мы ищем все ссылки, которые ссылаются на картинки с расширением .jpg. Разумеется, такой подход не будет работать для картинок с расширениями .gif, .png и т.д.

Совместимость:

* IE7+
* Firefox
* Chrome
* Safari
* Opera

15. X[data-*=»foo»]


a[data-filetype="image"] {
   color: red;
}

Как же мы можем охватить различные типы картинок? Мы можем создать, например, несколько селекторов:


a[href$=".jpg"],
a[href$=".jpeg"],
a[href$=".png"],
a[href$=".gif"] {
   color: red;
}

Но это муторно и не элегантно. Другой вариант — это создать собственный атрибут data-filetype и добавить его к каждой ссылке, ведущей на картинку.


<a href="path/to/image.jpg" data-filetype="image">Ссылка</a>

Поступив таким образом, мы можем использовать код данного примера:


a[data-filetype="image"] {
   color: red;
}

Совместимость:

* IE7+
* Firefox
* Chrome
* Safari
* Opera

16. X[foo~=»bar»]


a[data-info~="external"] {
   color: red;
}

a[data-info~="image"] {
   border: 1px solid black;
}

Вот еще один интересный трюк, о котором не все знают. Знак ~ (тильда) позволяет нам выбирать атрибуты со значениями, разделенными пробелами, т.е.


<a href="path/to/image.jpg" data-info="external image">Кликни сюда</a>

Используя данный прием мы можем делать выборки с нужными нам комбинациями:


/* Отобрать атрибут data-info, который содержит значение external */
a[data-info~="external"] {
   color: red;
}

/* и отобрать атрибут data-info, который содержит значение image */
a[data-info~="image"] {
  border: 1px solid black;
}


Совместимость:

* IE7+
* Firefox
* Chrome
* Safari
* Opera

17. X:checked


input[type=radio]:checked {
   border: 1px solid black;
}

Этот псевдо-класс отбирает те элементы, которые были отмечены, например, радиокнопку или чекбокс.

Совместимость:

* IE9+
* Firefox
* Chrome
* Safari
* Opera

18. X:after

Данный псевдо-класс позволяет сгенерировать контент вокруг выбранного элемента.


.clearfix:after {
    content: "";
    display: block;
    clear: both;
    visibility: hidden;
    font-size: 0;
    height: 0;
    }

.clearfix {
   *display: inline-block;
   _height: 1%;
}

Данный пример показывает, как с помощью псевдо-класса :after после блока с классом .clearfix создаётся пустая строка, после чего очищается. Хороший метод, когда невозможно применить overflow: hidden.

Совместимость:

* IE8+
* Firefox
* Chrome
* Safari
* Opera

19. X:hover


div:hover {
  background: #e3e3e3;
}

Это Вы точно знаете. Официальное название звучит вроде «псевдо-класс, основанный на действии пользователя». Звучит страшновато, хотя на деле все просто. Хотите применить к элементу определенный стиль, когда на него наводится курсор мыши? Это оно самое!

«Помните, что старые версии IE не понимают этого псевдо-класса по отношению к чему-бы то ни было, кроме тэга а.»

Часто данный прием используется для задания нижней границы для ссылок при наведении на них курсора:


a:hover {
 border-bottom: 1px solid black;
}

«Мега-чит: border-bottom: 1px solid black; выглядит лучше, чем text-decoration: underline;»

Совместимость:

* IE6+ (в IE6 работает только по отношению к ссылкам)
* Firefox
* Chrome
* Safari
* Opera

20. X:not(selector)


div:not(#container) {
   color: blue;
}

Отрицание может быть также очень полезным. Предположим, я хочу выбрать все блоки div, кроме одного с идентификатором container. Для этого отлично подойдет код выше.

Если же мне нужно выбрать все элементы, кроме тэгов параграфов, то можно написать так:


*:not(p) {
  color: green;
}

Совместимость:

* IE9+
* Firefox
* Chrome
* Safari
* Opera

21. X::pseudoElement


p::first-line {
   font-weight: bold;
   font-size: 1.2em;
}

Псевдоэлементы можно использовать для придания стилей фрагменту элемента, например, первой строке или первой букве. Применяется только к блочным элементам.

Выбираем первую букву параграфа:


p::first-letter {
   float: left;
   font-size: 2em;
   font-weight: bold;
   font-family: cursive;
   padding-right: 2px;
}

Этот кусок кода найдет все параграфы на странице и применит к первой букве каждого из них указанные стили. Часто это используется для создания эффекта «газетного заголовка».

Выбираем первую строку параграфа:


p::first-line {
   font-weight: bold;
   font-size: 1.2em;
}

Аналогично предыдущему примеру, но в данном случае будет выбрана первая строка каждого параграфа.

Совместимость:

* IE6+
* Firefox
* Chrome
* Safari
* Opera

22. X:nth-child(n)


li:nth-child(3) {
   color: red;
}

Помните времена, когда мы не имели возможности обратиться к конкретному порядковому элементу-потомку? Данный псевдо-класс решает эту проблему!

В качестве параметра принимается целое число. Если нужно выбрать 2-й элемент списка, нужно использовать конструкцию: li:nth-child(2).

Мы можем даже выбирать группы элементов-потомков. К примеру, чтобы выбрать каждый четвертый элемент списка, нужно использовать конструкцию: li:nth-child(4n).

Совместимость:

* IE9+
* Firefox
* Chrome
* Safari

23. X:nth-last-child(n)


li:nth-last-child(2) {
   color: red;
}

Что, если у Вас есть большой неупорядоченный список и Вам нужно, к примеру, выбрать третий элемент с конца. Вместо того, чтобы писать li:nth-child(397), Вы можете воспользоваться псевдо-классом nth-last-child.

Совместимость:

* IE9+
* Firefox 3.5+
* Chrome
* Safari
* Opera

24. X:nth-of-type(n)


ul:nth-of-type(3) {
   border: 1px solid black;
}

Иногда бывают ситуации, когда вместо того, чтобы выбирать определенных потомков, нужно сделать выбор по типу элемента.

Представьте, что на странице есть пять неупорядоченных списков. Если Вам нужно применить стили только к третьему списку, но у него нет уникального идентификатора и иных «зацепок», то можно воспользоваться псевдо-классом nth-of-type(n). В коде выше показан способ придания стиля только третьему неупорядоченному списку.

Совместимость:

* IE9+
* Firefox 3.5+
* Chrome
* Safari

25. X:nth-last-of-type(n)


ul:nth-last-of-type(3) {
   border: 1px solid black;
}

Да, для полноты картины есть и такой вариант. Так можно выбрать n-ный элемент определенного типа с конца.

Совместимость:

* IE9+
* Firefox 3.5+
* Chrome
* Safari
* Opera

26. X:first-child


ul li:first-child {
   border-top: none;
}

Этот псевдо-класс позволяет выбрать только первого потомка родительского элемента. Часто используется для удаления границ первого и последнего элементов списка.

К примеру, если у вас есть список рядов, каждый из которых имеет border-top и border-bottom, то последний и первый элементы списка будут немного выбиваться из общего строя.

Для устранения этого недостатка можно использовать данный псевдо-класс.

Совместимость:

* IE7+
* Firefox
* Chrome * Safari
* Opera

27. X:last-child


ul > li:last-child {
   color: green;
}

В противоположность классу first-child, last-child выберет последний элемент родительского элемента.

Совместимость:

* IE9+
* Firefox
* Chrome
* Safari
* Opera

28. X:only-child


div p:only-child {
   color: red;
}

Честно говоря, это довольно редко используемый псевдо-класс, но, тем не менее, он тоже бывает полезен. Он позволяет выбрать Вам те элементы, которые являются единственными потомками для своих родителей.

В нашем примере стиль будет применен только к параграфу, который является единственным потомком блока div.

Давайте рассмотрим для наглядности такую разметку:


<div><p>Здесь идет единственный в блоке параграф.</p></div>

<div>
   <p>Здесь идет первый параграф в блоке.</p>
   <p>Здесь идет второй параграф в блоке.</p>
</div>


В этом случае параграфы во втором блоке div выбраны не будут. Стиль будет применен только к параграфу из первого блока div.

Совместимость:

* IE9+
* Firefox
* Chrome
* Safari
* Opera

29. X:only-of-type


li:only-of-type {
   font-weight: bold;
}

Этот псевдо-класс выбирает элементы, которые не имеют сестринских элементов в содержащем их контейнере. Например, давайте выберем все ul, которые содержат одинокие li.

Вы могли бы написать ul li, но этот способ выберет все элементы li. Единственный способ — использовать only-of-type.


ul > li:only-of-type {
   font-weight: bold;
}

Совместимость:

* IE9+
* Firefox 3.5+
* Chrome
* Safari
* Opera

30. X:first-of-type

Этот псевдо-класс позволяет отобрать первого сиблинга того же типа.

Чтобы лучше это понять, скопируйте в свой редактор следующий код:


<div>
   <p>Здесь параграф.</p>
   <ul>
      <li>Элемент 1.</li>
      <li>Элемент 2.</li>
   </ul>

   <ul>
      <li>Элемент 3.</li>
      <li>Элемент 4.</li>
   </ul>
</div>

Сейчас, не читая дальше, попробуйте придать стиль только «элементу 2». Когда догадаетесь (либо сдадитесь), читайте дальше.

Решение 1

Есть много способов решить данную задачу. Рассмотри лишь некоторые из них. Начнем с использования first-of-type:


ul:first-of-type > li:nth-child(2) {
   font-weight: bold;
}

Данный код гласит: «Найди первый неупорядоченный список на странице, затем найди только его прямых потомков, являющихся элементами li. После этого выбери только второй по порядку элемент li

Решение 2

Другой вариант — воспользоваться смежным селектором:


p + ul li:last-child {
   font-weight: bold;
}

Здесь мы находим ul, следующий непосредственно за тэгом параграфа, после чего находим самый последний его дочерний элемент.

Решение 3

Можно еще немного поиграть с селекторами и поступить таким образом:


ul:first-of-type li:nth-last-child(1) {
   font-weight: bold;
}

Сейчас мы уже получаем первый элемент ul на странице, затем ищем самый первый элемент li, но начиная с конца.

Совместимость:

* IE9+
* Firefox 3.5+
* Chrome
* Safari
* Opera

Вывод

Если Вы все еще пишете код, принимая во внимание существование IE6, то Вам нужно быть предельно осторожным при использовании новых селекторов. Но не делайте из этого оправдания, не говорите, что Вам это не нужно знать — этим Вы осложните жизнь самому себе.

Если Вы работаете с какими-либо JavaScript-библиотеками, например, с jQuery, то всегда старайтесь использовать «родные» CSS3 селекторы, когда это возможно. В этом случае Ваш код будет работать быстрее.

Благодарю за внимание, надеюсь, Вы нашли для себя хотя бы пару-тройку полезных трюков.

По материалам www.net.tutsplus.com
Перевод — Дмитрий Науменко.

P.S. Уже верстаете сайты или планируете глубже освоить CSS? Посмотрите еще серию бесплатных видео по резиновой верстке и бесплатный курс по основам адаптивной верстки. Эти материалы помогут вам продвинуться вперед гораздо быстрее:

Понравился материал и хотите отблагодарить?
Просто поделитесь с друзьями и коллегами!


Смотрите также:

Наверх

Учебник CSS для начинающих. Что такое CSS?

Введение

Если Вы уже прошли курс обучения по учебнику HTML или же хорошо знакомы с HTML почерпнув необходимые знания из других источников, то настало время взяться за изучение CSS.

CSS (Cascading Style Sheets) — Каскадные таблицы стилей — это свод стилевых описаний, тех или иных HTML тегов (далее элементов HTML), который может быть применён как к отдельному тегу — элементу, так и одновременно ко всем идентичным элементам на всех страницах сайта. CSS по сути своего рода дополнение к HTML, которое значительно расширяет его возможности.

Ну и что? Спросите Вы.. Зачем мне этот пресловутый CSS? Я и HTML-ом в чистом виде неплохо обходился!

Приведу ряд доводов в пользу использования CSS:

HTML в чистом виде имеет весьма ограниченный набор инструментов не позволяющий решать те или иные дизайнерские и функциональные задумки веб-мастера. Ну вот хотя бы, к примеру, взять больной вопрос всех начинающих веб-ремесленников «Как убрать подчеркивание ссылки?» или «Как сделать чтобы наведя курсором на эту самую ссылку она меняла цвет и подсвечивалась?» с помощью одного HTML этого никак не сделать!! А сколько их еще таких «больных вопросов»? — тьма.. Тут то и приходит на помощь CSS, который решает большинство задач касающихся дизайна сайта.

Предположим, Вы написали сайт в нем 100 страниц.. хороший сайт, информативный, люди на него ходят.. И вдруг по каким либо причинам Вам понадобилось изменить его дизайн, ну не знаю, мода изменилась, Вы нашли более лучшее дизайнерское решение, заказчику пришлось не по душе.. да мало ли еще почему.. Сколько времени и сил у Вас уйдёт на то что бы полностью переделать все 100 страниц сайта? CSS предлагает разумное решение этой задачи. А что если один раз в отдельном файле полностью описать весь дизайн сайта? Допустим: все заголовки <h2> делать красным цветом, параграфы <p> писать курсивам, ссылки <a> не подчёркивать 🙂 фон на всех страницах залить зелёным, и т. д. … а потом просто заставить эти 100 страниц HTML обращаться к файлу CSS и черпать из него нужную информацию? Теперь когда Вам вздумается, к примеру, перекрасить все заголовки из красного в зеленый, Вам ненужно открывать все 100 страниц находить в них теги <h2> и указывать в каждом что ты теперь не красный а зелёный! Вам нужно всего лишь открыть файл описание и изменить в нем цвет элемента <h2> на зелёный и всё!! Все заголовки на всех страницах сайта как по взмаху волшебной палочки станут зелеными.

Ввиду того, что CSS позволяет выносить повторяющиеся стилевые описания одних и тех же элементов в один файл происходит значительная «разгрузка» документов HTML, а это экономия объема, трафика, времени, денег.. HTML код становится лёгким, удобным для чтения и редакции.

Ну как? Заинтриговал? Если да то рекомендую перейти к непосредственному изучению CSS. В главах этого учебника Вы научитесь внедрять каскадные таблицы стилей на страницы Вашего сайта, познакомитесь с основными стилевыми свойствами элементов на примере создания сайта с использованием CSS, вникните в тонкости и хитрости дела. Если Вы уже знакомы c каскадными таблицами стилей и Вас интересует исключительно справочная информация, то предлагаю заглянуть в справочник CSS где собранны и кратко описаны свойства CSS и их возможные значения.





наглядное введение в систему компоновки элементов на веб-странице

CSS Flexbox — это технология для создания сложных гибких макетов за счёт правильного размещения элементов на странице. О самой технологии пишут здесь. Мы же решили объяснить возможности CSS Flexbox с использованием гифок.

Примечание Вы читаете улучшенную версию некогда выпущенной нами статьи.

1

display: flex

Есть страница:

На ней размещено 4 div разных размеров, которые находятся внутри серого div. У каждого div есть свойство display: block. Поэтому каждый блок занимает всю ширину строки. Чтобы начать работать с CSS Flexbox, нужно сделать контейнер flex-контейнером. Делается это так:

#container {
  display: flex;
}

Так у блоков появилось свойство flex-контекст, которое в дальнейшем позволит ими управлять гораздо проще, чем с использованием стандартного CSS.

2

flex-direction

У flex-контейнера есть две оси: главная и перпендикулярная ей.

По умолчанию все предметы располагаются вдоль главной оси — слева направо. Именно поэтому блоки в предыдущем примере выстроились в линию, когда мы применили display: flex. А вот flex-direction позволяет вращать главную ось.

#container {
  display: flex;
  flex-direction: column;
}

Обратите внимание, что flex-direction: column не выравнивает блоки по оси, перпендикулярной главной. Главная ось сама меняет своё расположение, и теперь направлена сверху вниз.

Есть ещё парочка свойств для flex-direction: row-reverse и column-reverse.

3

justify-content

Отвечает за выравнивание элементов по главной оси:

#container {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
}

Justify-content может принимать 5 значений:

  1. flex-start
  2. flex-end
  3. center
  4. space-between
  5. space-around

Space-between задаёт одинаковое расстояние между блоками, но не между контейнером и блоками. Space-around также задаёт одинаковое расстояние между блоками, но теперь расстояние между контейнером и блоками равно половине расстояния между блоками.

4

align-items

Если justify-content работает с главной осью, то align-items работает с осью, перпендикулярной главной оси. Вернёмся к flex-direction: row и пройдёмся по командам align-items:

  1. flex-start
  2. flex-end
  3. center
  4. stretch
  5. baseline

Стоит заметить, что для align-items: stretch высота блоков должна быть равна auto. Для align-items: baseline теги параграфа убирать не нужно, иначе получится так:

Чтобы получше разобраться в том, как работают оси, объединим justify-content с align-items и посмотрим, как работает выравнивание по центру для двух свойств flex-direction:

5

align-self

Позволяет выравнивать элементы по отдельности:

#container {
  align-items: flex-start;
}
. square#one {
  align-self: center;
}
// Only this square will be centered.

Для двух блоков применим align-self, а для остальных — align-items: center и flex-direction: row.

6

flex-basis

Отвечает за изначальный размер элементов до того, как они будут изменены другими свойствами CSS Flexbox:

flex-basis влияет на размер элементов вдоль главной оси. Давайте посмотрим, что случится, если мы изменим направление главной оси:

Заметьте, что нам пришлось изменить и высоту элементов: flex-basis может определять как высоту элементов, так и их ширину в зависимости от направления оси.

7

flex-grow

Это свойство немного сложнее. Для начала зададим блокам одинаковую ширину в 120px:

По умолчанию значение flex-grow равно 0. Это значит, что блокам запрещено увеличиваться в размерах. Зададим flex-grow равным 1 для каждого блока:

Теперь блоки заняли оставшееся место в контейнере. Но что значит flex-grow: 1? Попробуем сделать flex-grow равным 999:

И… ничего не произошло. Так получилось из-за того, что flex-grow принимает не абсолютные значения, а относительные. Это значит, что не важно, какое значение у flex-grow, важно, какое оно по отношению к другим блокам:

Вначале flex-grow каждого блока равен 1, в сумме получится 6. Значит, наш контейнер разделён на 6 частей. Каждый блок будет занимать 1/6 часть доступного пространства в контейнере. Когда flex-grow третьего блока становится равным 2, контейнер делится на 7 частей: 1 + 1 + 2 + 1 + 1 + 1. Теперь третий блок занимает 2/7 пространства, остальные — по 1/7. И так далее.

flex-grow работает только для главной оси, пока мы не изменим её направление.

8

flex-shrink

Прямая противоположность flex-grow. Определяет, насколько блоку можно уменьшиться в размере. flex-shrink используется, когда элементы не вмещаются в контейнер. Вы определяете, какие элементы должны уменьшиться в размерах, а какие — нет. По умолчанию значение flex-shrink для каждого блока равно 1. Это значит, что блоки будут сжиматься, когда контейнер будет уменьшаться.

Зададим flex-grow и flex-shrink равными 1:

Теперь поменяем значение flex-shrink для третьего блока на 0. Ему запретили сжиматься, поэтому его ширина останется равной 120px:

flex-shrink основывается на пропорциях. То есть, если у первого блока flex-shrink равен 6, а у остальных он равен 2, то, это значит, что первый блок будет сжиматься в три раза быстрее, чем остальные.

9

flex

Заменяет flex-grow, flex-shrink и flex-basis. Значения по умолчанию: 0 (grow) 1 (shrink) auto (basis).

Создадим два блока:

.square#one {
  flex: 2 1 300px;
}
.square#two {
  flex: 1 2 300px;
}

У обоих одинаковый flex-basis. Это значит, что оба будут шириной в 300px (ширина контейнера: 600px плюс margin и padding). Но когда контейнер начнет увеличиваться в размерах, первый блок (с большим flex-grow) будет увеличиваться в два раза быстрее, а второй блок (с наибольшим flex-shrink) будет сжиматься в два раза быстрее:

Ещё больше возможностей свойства вы можете найти в анимированном руководстве по CSS flex​.

10

Дополнительно

Как с CSS Flexbox меняется размер?

Когда увеличивается первый блок, он не становится в два раза больше второго, и когда уменьшается второй, он также не становится в два раза меньше первого. Это происходит из-за того, что flex-grow и flex-shrink отвечают за темп роста и сокращения.

Немного математики

Начальный размер контейнера: 640px. Вычтем по 20px с каждой стороны для padding, и у нас останется 600px для двух блоков. Когда ширина контейнера становится равной 430px (потеря в 210px), первый блок (flex-shrink: 1) теряет 70px. Второй блок (flex-shrink: 2) теряет 140px. Когда контейнер сжимается до 340px, мы теряем 300px. Первый блок теряет 100px, второй — 200px. То же самое происходит и с flex-grow.

Если вы также интересуетесь CSS Grid, можете ознакомиться с нашей статьёй, где мы рассматриваем Flexbox и Grid.

Перевод статьи «How Flexbox works — explained with big, colorful, animated gifs»

69

Что верстальщик должен знать про OOCSS и организацию CSS

В курсах профессии «Верстальщик» и его проектах часто используется понятие OOCSS. По этому принципу выстроена большая часть организации CSS-кода внутри профессии. Что же обозначают эти символы?

OOCSS — Object Oriented CSS или объектно-ориентированный CSS. Это один из подходов к организации CSS-кода, отличительной чертой которого является разделение структуры элемента и его оформление.

Зачем же вообще организовывать код CSS и как здесь помогает OOCSS? Чтобы разобраться, возьмём типичный пример CSS, который можно встретить во многих проектах, где нет соглашения об организации кода.

/* Эту часть писал разработчик №1 */

.btn {
  width: 150px;
  height: 50px;
  font-size: 13px;
  background: white;
  border: 1px solid #333;
}

/* Эту часть писал разрабочик №2 */

.form-order button {
  width: 150px;
  height: 50px;
  font-size: 13px;
  background: blue;
}

.button-project {
  width: 150px;
  height: 50px;
  font-size: 13px;
  border: 1px solid;
}

/* Разрабочик №1 вернулся и дописал новую кнопку */

.btn-blue-text {
  width: 150px;
  height: 50px;
  font-size: 13px;
  color: blue;
  background: white;
  border: 1px solid #333;
}

Здесь можно увидеть две проблемы, от которых можно избавиться:

  1. Многие стили повторяются. Если в проекте возникнет потребность изменить размер кнопок, то придётся править много классов.
  2. Разработчики используют разные подходы к именованию. Может сложиться впечатление, что верстальщики будут смотреть стиль написания предыдущего класса, но зачастую этого не происходит. Каждый начинает писать так, как удобно и привычно ему.

Чем больше проект и чем больше задействовано разработчиков, тем больше таких разных классов в нём возникает. А ведь элементы одинаковые. В них изменяются только внешние признаки: цвет, стиль границ и так далее.

На сегодняшний день существуют разные способы, которые помогают избежать всех этих проблем и привести CSS к единому виду, который возможно легко масштабировать и читать. Одним из таких подходов и является OOCSS.

Как и было сказано в самом начале, методология OOCSS базируется на двух основных вещах:

  1. Стили структуры
  2. Стили оформления

К структуре относится всё, что непосредственно влияет на расположение контента внутри. Пользователи обычно «не видят» эти стили — пока у элемента нет оформления, он просто будет представлен пустым блоком. К стилям структуры можно отнести:

  • Высоту
  • Ширины
  • Внутренние и внешние отступы

К стилям оформления относятся:

  • Фон
  • Шрифты
  • Тени и цвет границ.

Для понимания разницы можно использовать следующий принцип: если стиль отвечает за то, как элемент расположен, то это стиль структуры, а если как выглядит, то это стиль оформления.

Теперь возьмём стили из примера выше и определим, что из них является структурой, а что оформлением.

/* Стили структуры */

.btn {
  width: 150px;
  height: 50px;
}

/* Стили оформления */

.btn-blue {
  background: blue;
  color: white;
  border: 1px solid #f9f9f9;
}

.btn-red {
  background: red;
  color: white;
  border: 1px solid #f9f9f9;
}

Теперь все кнопки стандартизированы. У них есть общий класс .btn, который отвечает за структуру кнопок. При доработках структуры будет достаточно изменить этот класс, и он применится ко всем кнопкам сразу. Оформление кнопок теперь тоже основывается на классах, что помогает быстро их менять при необходимости.

Начните изучать разработку с бесплатного курса «Основы современной вёрстки». Вы научитесь создавать статические веб-страницы, стилизовать элементы, использовать редакторы кода с полезными расширениями. В конце курса вы опубликуете свой первый сайт на GitHub Pages.

Ещё одной особенностью подхода OOCSS является то, что отсутствует привязка к конкретному тегу. Все структурные классы можно применять к любым тегам (в рамках разумного, конечно же). Как кнопки могут быть оформлены не только элементы с тегом <button></button>, но и ссылки <a></a>. Если доработать класс .btn, то он может учитывать все эти моменты.

.btn {
  display: block;

  width: 150px;
  height: 50px;

  border: none;
  background: none;

  cursor: pointer;
}

Использование данных классов выглядит следующим образом:

<a href="#best-section">Перейти к блоку</a>

<form action="/index.php">
  <label for="name">Имя:</label>
  <input type="text">

  <button>Отправить</button>
</form>

Достоинства OOCSS

Масштабируемость

Применение OOCSS позволяет легко дополнять CSS-код и переиспользовать его. Не привязывая классы к конкретному элементу, мы оставляем простор для переиспользования и комбинации различных классов. В совместной разработке этот подход позволит легче войти новым разработчикам. Последнее относится не только к OOCSS, но и к любой методологии организации CSS кода.

Простота

Для новичков такой подход может быть легче, чем другие. Дело в том, что OOCSS не накладывает ограничения на именование, не закрыт в рамках конкретного стандарта, что позволяет думать конкретно о реализации разделения структуры и оформления, а не об именовании и грамотной вложенности элементов внутри HTML.

Недостатки OOCSS

Большое количество классов в HTML

Все подходы к организации CSS можно разделить на две условные группы:

  • Чистота CSS при усложнённом HTML
  • Чистый HTML при усложнённом CSS

OOCSS относится к первой группе. За чистотой и переиспользованием CSS стоит захламление HTML. Один элемент при данном подходе может иметь много классов. Это нормальная ситуация.

Ограниченное применение

OOCSS — подход для больших проектов. Его использование на маленьких проектах может быть излишним, поэтому сфера применения достаточно узкая. Всегда подходите к вёрстке «с головой» и не используйте большие инструменты там, где можно обойтись без них. Чем больше планируется проект, тем больше стоит задумываться над организацией CSS.

Заключение

OOCSS не является магическим знанием, которое решит все ваши проблемы. Это не под силу никакой методологии. По мере получения опыта вы найдёте подходящую для вас методологию, которая будет отвечать всем вашим требованиям. Приучайте себя организовывать код с самого начала пути в разработке. Это выработает привычку, которая поможет вам в будущем быстро создавать читаемый и поддерживаемый CSS-код.

Всё о свойстве float | CSS-Tricks по-русски

Всё о свойстве float

Что такое «float»?

Float — это свойство CSS для позиционирования элементов. Для того чтобы понять его назначение и происхождение, можно обратиться к полиграфическому дизайну. В компоновке при печати, изображения могут располагаться на странице так, чтобы текст «обтекал» их. Обычно это так и называется: «обтекание текстом».

В программах для вёрстки страниц, элементы с текстом, могут учитывать изображения, а также и игнорировать их. В случае если они будут проигнорированы, текст будет отображаться над картинками, как будто их и нет. Это главная разница между тем, являются ли изображения частью основного потока страницы, или нет. Веб-дизайн очень похож.

В веб-дизайне, элементы страницы с установленным свойством float, ведут себя точно также как и изображения в полиграфии, когда текст «обтекает» их. Такие элементы являются частью основного потока веб-страницы. Однако всё обстоит иначе, если элементы используют абсолютное позиционирование. Абсолютно позиционированные элементы удаляются из основного потока страницы, подобно примеру выше, когда в полиграфии текст игнорирует изображения. Такие элементы не влияют на позицию остальных элементов, соприкасаются они или нет.

Установка свойства float происходит следующим образом:


#sidebar {
	float	: right;
}

Всего есть 4 значения для свойства float. Left и right используются для соответствующих направлений. None (по умолчанию) — обеспечивает, что элемент не будет «плавать». И inherit, которое говорит, что поведение должно быть такое же, как и у родительского элемента.

Для чего можно использовать float?

Помимо обтекания текстом изображений, float может использоваться для создания макета всего сайта.

Свойство float также полезно и в меньших масштабах. Для примера рассмотрим маленькую область на странице сайта. Допустим вы используете float для аватара, при изменении размера изображения, размер текста будет подогнан в соответствии с изображением.

Такое же расположение объектов может быть достигнуто путём использования позиционирования. Объекту-контейнеру присваивается относительное (relative) позиционирование, а объекту с изображением — абсолютное (absolute). В этом случае аватар не повлияет на положение текста.

Отмена свойства float

Для float, родственное свойство — clear. Любой элемент, у которого установлено свойство clear, не будет поднят вверх, как от него ожидается, а отобразится ниже, после float-элементов. Возможно, пример на картинке объяснит лучше, чем слова.

В примере, сайд-бар прижат к правому краю (float: right;), а его высота меньше, чем область основного контента. Поэтому footer будет поднят выше, поскольку для него хватает высоты и этого требует поведение float. Чтобы исправить ситуацию, ему необходимо установить свойство clear, которое гарантирует, что элемент выведется ниже float-элементов.


#footer {
	clear: both;
}

Свойство clear может принимать четыре значения. Both, наиболее используемое, применяется для отмены float каждого из направлений. Left и Right — используются для отмены float одного из направлений. None — по умолчанию, обычно не используется, за исключением случаев, когда необходимо отменить значение clear. Значение inherit было бы пятым значением, но оно странным образом не поддерживается в Internet Explorer. Отмена только левого или правого float, встречается гораздо реже, но, безусловно, имеет свои цели.

Большой коллапс

Ещё одна удивительная вещь при работе со свойством float — это то, что его использование может влиять на родительский элемент. Если такой элемент содержит только float-элементы, то он буквально схлопывается, то есть его высота равна нулю. Это не всегда заметно, если у родительского элемента не установлен какой-либо видимый фон.

Такое схлопывание выглядит нелогичным, однако альтернатива ещё хуже. Рассмотрим такой пример:

Если блочный элемент, располагающийся наверху, будет автоматически увеличиваться, чтобы вместить все float-элементы, то мы получим неестественный разрыв в тексте между параграфами, без всякой возможности это исправить. Если бы было именно так, наши дизайнеры жаловались бы гораздо чаще такому поведению, чем схлопыванию.

Таким образом, схлопывание почти всегда необходимо, чтобы предотвратить трудности в вёрстке. Для того чтобы изменить такое поведение, необходимо добавить элемент отменяющий float после float-элементов, но до закрытия родительского элемента.

Способы отмены float

Если вам известно, что следом после float-элементов, всегда будет выводится какой-либо другой элемент (например футер), то вам достаточно ему установить свойство clear: both;, как в примере выше, и заниматься дальше своими делами. Это идеальный вариант, поскольку он не требует каких-либо хаков, или дополнительных элементов. Конечно не всё в нашей жизни так гладко и бывают случаи когда такого способа не достаточно. Поэтому необходимо иметь несколько дополнительных способов в своём арсенале.

И, как вы понимаете, каждый из способов используется в различных ситуациях. Возьмём, к примеру, сетку из блочных элементов, отличающихся типами.

Для более лучшего визуального представления было бы неплохо объединить подобные блоки. Например мы хотим, чтобы каждый тип начинался с новой строки, в нашем случае тип элемента определяется цветом. Мы можем использовать метод с overflow или «метод простой очистки», если у каждой группы есть свой элемент-контейнер. Или же мы можем использовать метод пустого div-а между каждой из групп. Три элемента-контейнера, или три пустых div-а, что лучше для вашей задачи — решать вам.

Проблемы с float

Float часто стараются обходить, поскольку работать с ними надо очень аккуратно. Большинство ошибок пришло вместе с IE6. Поскольку всё больше и больше веб-дизайнеров отказываются от поддержки IE6, то вас могут и не волновать эти проблемы. Но для тех, кому не всё равно, вот краткий список.

  • «Выталкивание» (pushdown). Возникает когда элемент внутри float-элемента оказывается шире его (обычно это изображения). Большинство браузеров обработает такие элементы вне float-структуры и вёрстка не будет сломана. IE расширит элемент, чтобы изображение влезло, зачастую это ломает дизайн. На картинке представлен пример, как изображение торчит из основного контента и таким образом «выталкивает» сайд-бар вниз. Самый просто способ избежать этого — это проверить что все ваши изображения подходят по ширине. Можно использовать overflow: hidden;, чтобы обрезать выступающую часть.
  • Двойной внешний отступ. Ошибка проявляющаяся в IE6, в случае если вы устанавливаете внешний отступ в том же направлении, в котором у вас указан float. В этом случае отступ удваивается. Чтобы исправить это, необходимо установить плавающему (float) элементу свойство display: inline;, не беспокойтесь, элемент по прежнему будет блочным.
  • Трёх-пиксельный прыжок (3px Jog). Ошибка, которая проявляется следующим образом: текст, который расположен рядом с float-элементом неожиданно съезжает на 3 пикселя. Чтобы избежать этого, необходимо установить ширину или высоту пострадавшему тексту.
  • В IE7 существует Ошибка нижнего внешнего отступа (Bottom Margin Bug) — возникает когда элемент с установленным свойством float, содержит в себе ещё один float-элемент. В таких случаях, нижний внешний отступ дочернего элемента игнорируется. Для обхода этой проблемы необходимо использовать внутренний отступ родительского элемента, вместо внешнего отступа дочернего.

Альтернативы float

Если вам необходимо обтекание картинки текстом, то альтернатив нет. Но для макета страницы, определённо есть выбор. Существуют очень интересные подходы, в которых комбинируется гибкость float с мощью абсолютного позиционирования. В CSS3 есть, так называемый, Модуль разметки шаблона (Template Layout Module), который в будущем предоставит достойную альтернативу float.

Что такое CSS


CSS обозначает C ascading S tyle S heets

CSS описывает, как должны отображаться HTML элементов


Пример CSS

кузов {цвет фона: голубой; выравнивание текста: центр;}
h2 {цвет синий; font-size: 40px;}
p {семейство шрифтов: вердана; font-size: 20px;}

Попробуй сам »

Нажмите кнопку «Попробуйте сами», чтобы увидеть, как это работает.


Синтаксис CSS

Правило CSS состоит из селектора и блока декларации :

Селектор указывает на элемент HTML для стиля (h2).

Блок объявлений (в фигурных скобках) содержит одно или несколько объявлений, разделенных символом точка с запятой.

Каждое объявление включает имя свойства CSS и значение, разделенные двоеточием.

В следующем примере все элементы

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

Пример

<стиль>
п. {размер шрифта: 32 пикс; красный цвет; выравнивание текста: центр;}

Тот же пример можно записать так:

<стиль>
п. {
размер шрифта: 32 пикселя;
цвет: красный;
выравнивание текста: центр;
}

Попробуй сам »

Внешняя таблица стилей

Таблица стилей CSS может храниться во внешнем файле :

mystyle.CSS

тело {цвет фона: оранжевый; font-family: verdana}
h2 {color: white;}
p {font-size: 20px;}

Внешние таблицы стилей связаны с HTML-страницами с помощью тегов :

Пример



Мой первый пример CSS


Это абзац.


Попробуй сам »


Встроенный стиль

Пример



Мой первый пример CSS


Это параграф.


Это абзац.


Это абзац.


Попробуй сам »


Каскадный порядок

Если для элементов HTML указаны разные стили, стили будут каскад в новые стили со следующим приоритетом:

  • Приоритет 1: встроенные стили
  • Приоритет 2: внешние и внутренние таблицы стилей
  • Приоритет 3: браузер по умолчанию
  • Если на одном уровне приоритета определены разные стили, последний высший приоритет.

Пример



Несколько Стили каскадируются в один


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


Попробуйте сначала удалить встроенный, затем внутренний, а затем внешний.


Попробуй сам »



CSS Demo — одна HTML-страница — несколько стилей!

Здесь мы покажем одну HTML-страницу с 4 различными таблицами стилей.

Нажмите кнопки таблицы стилей (1–4), чтобы просмотреть страницу, отображаемую с разными стилями.


Полное руководство CSS

Это краткое описание CSS.

Для полного руководства по CSS перейдите к W3Schools CSS Tutorial.

Полный справочник CSS см. В Справочнике CSS W3Schools.



Что такое CSS (и как он работает)?

В наши дни существует множество простых способов создания контента веб-сайтов. Вы найдете решения для перетаскивания, конструкторы веб-сайтов и даже полноценные системы управления контентом (CMS).Однако с помощью этих инструментов вы можете далеко не уйти.

Если вы хотите создавать по-настоящему оригинальные дизайны — вместо того, чтобы рисковать попасть на сайт подражателя, — стоит немного научиться программировать. Лучше всего начать с каскадных таблиц стилей (CSS), языка, который позволяет вам контролировать представление элементов на веб-странице.

В этом посте мы объясним, что такое CSS и как он работает, понятным для начинающих языком. Затем мы поможем вам приступить к изучению CSS — это проще, чем вы могли ожидать.Давайте прямо сейчас!

Основные строительные блоки веб-сайта

Даже если у вас нет большого технического опыта, вы, вероятно, знаете, что программы и веб-сайты создаются с использованием различных языков программирования. Это может сделать вас немного пугающим, если подумать о том, чтобы «под капотом» вносить индивидуальные изменения на своем собственном сайте.

Однако основные языки, используемые для создания веб-сайтов, более удобны для пользователя, чем ваш стандартный язык программирования. Три наиболее важных из них:

  1. HTML: Язык гипертекстовой разметки (HTML) — это то, как веб-страницы «строятся».Он определяет, какие типы элементов появляются на странице и где.
  2. CSS: Этот язык разработан для использования вместе с языком «разметки», таким как HTML. CSS определяет, как форматируются элементы HTML — управляя их макетом, цветами, шрифтами и т. Д.
  3. JavaScript: В то время как предыдущие два языка в основном связаны со статическим (неподвижным) содержимым, JavaScript используется для создания интерактивных функций и элементов.

Эти описания, конечно, являются упрощением, и все три языка заслуживают изучения.Однако для дизайнеров CSS является наиболее важным. Давайте посмотрим, как работает этот конкретный язык более подробно.

Что такое CSS и как он работает

Помните, как мы говорили, что HTML — это «язык разметки»? С другой стороны, CSS — это «язык таблиц стилей». Это полезный дескриптор, поскольку он позволяет узнать, что такое CSS — стили и представление.

Хотя вы, , можете добавить CSS непосредственно в код конкретной веб-страницы, но это не считается оптимальной практикой. Вместо этого дизайнеры создают таблицы стилей, которые представляют собой отдельные файлы, содержащие только код CSS. Об этих файлах нужно знать несколько важных вещей:

  • Одна таблица стилей CSS может содержать правила, влияющие на стилизацию нескольких страниц на сайте. При посещении любой из этих страниц осуществляется доступ к коду таблицы стилей, который определяет способ отображения HTML-кода, составляющего страницу.
  • Сайт обычно содержит несколько таблиц стилей, каждая из которых управляет одной или несколькими страницами.У вас может быть одна таблица стилей для вашей домашней страницы, другая для всех остальных страниц и третья для сообщений в блогах.
  • Редактируя таблицы стилей или добавляя новые на свой сайт, вы можете изменить его внешний вид и макет, не затрагивая какое-либо фактическое содержимое (которое вместо этого определяется HTML).

Опять же, эта система сложнее, чем предполагают эти простые правила. Тем не менее, этого должно быть достаточно, чтобы дать вам представление о том, что делают таблицы стилей и почему они важны.

Пример CSS в действии

К настоящему времени вам может быть интересно, что содержится в таблицах стилей, о которых мы говорили.Вот пример того, как выглядит таблица стилей веб-сайта:

Таблица стилей может содержать столько информации, сколько необходимо. Как правило, он включает правила, регулирующие макет и форматирование страницы, а также цвета, шрифты и другую информацию о стилях для отдельных элементов (например, текста).

Давайте посмотрим на простой пример кода CSS:

p {
font-family: verdana;
размер шрифта: 20 пикселей;
цвет: зеленый;
}

Буква «p» называется «селектором», который указывает, на какой элемент должен воздействовать код.В этом случае «p» означает абзац. Это означает, что следующие правила будут применяться ко всем элементам, помеченным как абзацы в HTML-коде соответствующих страниц.

Следующие несколько строк не требуют пояснений. Они определяют семейство шрифтов, размер и цвет всего текста в этих абзацах. Если вы измените цвет : зеленый на цвет : синий , текст на странице изменит цвет соответственно. Эти строки также заключены в квадратные скобки, поэтому ясно, какие правила в таблице стилей применяются к каким элементам.

Как узнать больше о CSS

Хотя приведенный выше пример является очень простым, надеюсь, вы сможете увидеть приложения, когда дело доходит до дизайна веб-сайтов. Используя CSS, вы можете указать любой конкретный элемент на странице и решить, как именно он будет выглядеть, насколько он будет большим и так далее.

Лучший способ научиться использовать CSS — это начать экспериментировать. Настройте частный веб-сайт для тестирования с помощью CMS, которая позволит вам легко получить доступ к таблицам стилей, например WordPress.Затем потренируйтесь вносить изменения и следить за тем, что происходит в интерфейсе вашего сайта. Намного легче научиться постепенно настраивать, чем пытаться создать новую таблицу стилей с нуля.

Есть также множество полезных ресурсов, которые могут помочь вам узнать больше о CSS. Один из лучших — и с которого мы рекомендуем начать — это Учебное пособие W3Schools по CSS:

Эта интерактивная серия уроков шаг за шагом проведет вас по языку, обучит вас основам терминологии и предоставит множество возможностей для практики.

Заключение

Дизайн и кодирование могут показаться двумя совершенно разными наборами навыков. Однако когда дело доходит до веб-сайтов, они неразрывно связаны. К счастью, любой, кто хочет научиться создавать веб-страницы, имеет доступ к языку, который максимально удобен для пользователя — CSS.

Внося изменения в CSS веб-сайта, вы можете практически полностью контролировать его макет и внешний вид. Более того, поскольку ваши изменения вносятся в таблицы стилей, вы можете изменить внешний вид сайта, не затрагивая его содержание.Лучший способ изучить CSS — начать экспериментировать с ним на сайте практики и ознакомиться с учебными пособиями для начинающих, такими как предлагаемые W3Schools.

У вас есть вопросы о том, как использовать CSS в качестве дизайнера? Дайте нам знать в комментариях ниже!

Похожие сообщения

Первичная боковая панель

Наследование CSS, каскад и специфичность

Наследование, каскад и специфичность CSS

Вернуться на страницу четвертого класса »

Теперь, когда вы начинаете привыкать к использованию некоторых базовых правил CSS, пора приступить к изучению «больших концепций» CSS.Наследование, Каскад и Специфика — большая тройка. Понимание этих концепций позволит вам писать очень мощные таблицы стилей, а также сэкономить время, написав меньше правил CSS.

Наследование

В CSS некоторые стили наследуются на по дереву документа HTML, а другие — нет.

Хотя это может сбивать с толку, принцип, лежащий в основе этого, на самом деле разработан, чтобы позволить писать меньше правил CSS.

Унаследованные стили

Унаследованные стили обычно связаны со стилем текста документа.

Свойство шрифта наследуется. Вот почему мы обычно используем элемент для присоединения наших стилей шрифтов.

Элемент body в нашем HTML является родительским для всех других наших HTML-элементов (за исключением раздела ). Установка свойства шрифта в элементе body позволяет остальной части документа унаследовать правило шрифта.

 body {font: 14px / 18px Helvetica, Verdana, sans-serif; } 

Используя приведенное выше правило, весь текст (если мы не укажем иное) будет иметь размер 14 пикселей с высотой строки 18 пикселей и быть Helvetica или Verdana.

Стили, не унаследованные

Стили, которые не наследуются, обычно связаны с внешним видом элементов.

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

Ссылка на наследование

, страница

В общем, вы можете просто использовать здравый смысл, чтобы выяснить, унаследовано ли свойство или нет.Подумайте про себя, «Имеет ли смысл передать эту собственность по наследству?»

Если простое рассуждение не удается, следующая справочная страница CSS перечисляет многие свойства CSS. Правый столбец указывает, унаследовано ли свойство.


Специфичность

CSS-правила часто конфликтуют друг с другом. Собственно, это то, что мы хотим. Уловка состоит в том, чтобы понять, как будут применяться противоречивые правила.

Специфичность — это один из способов применения конфликтующих правил.

Селекторы имеют разные значения важности (или специфичности). Вот краткий список (в порядке важности):

  1. селекторы id
  2. селекторы классов и псевдоклассов
  3. Селекторы элементов

Если несколько правил CSS конфликтуют друг с другом, будет применяться наиболее важный или конкретный селектор.

Расчет уровня специфичности

Обычно мы комбинируем различные типы селекторов в нашем CSS для создания правил.Мы можем использовать относительно простой метод для оценки уровня специфичности каждого правила.

Предположим, у нас есть следующий фрагмент HTML:

 
   
  • ссылка
  • ссылка

Теперь предположим, что у нас есть следующие правила CSS (номера строк добавлены для ясности):

 1.div {цвет: красный; }
2. div # nav {цвет: синий; }
3. div.links {цвет: салатовый; }
4. body div # nav {цвет: зеленый; }
5. body div # nav ul li {цвет: голубой; }
6. body div # nav ul li.active {цвет: фиолетовый; } 

Существует простая система подсчета очков для каждого стиля, который вы включаете в трехзначный макет, например:

А — В — С

Вот как работает система подсчета очков:

  1. Добавьте один к A для каждого идентификатора в селекторе
  2. Добавьте один к B для каждого класса или псевдокласса в селекторе
  3. Добавить по одному в C для каждого имени элемента
  4. Считать результат в виде трехзначного числа

Итак, правила CSS 1-3 в приведенном выше коде применяются к одному и тому же тегу div .Кто победит?

 1. div {цвет: красный; } / * 0 - 0 - 1 * /
2. div # nav {цвет: синий; } / * 1 - 0 - 1 * /
3. div.nav {цвет: салатовый; } / * 0 - 1 - 1 * / 

Как мы видим, селектор div # nav выигрывает, потому что это , наиболее специфичный для . Цвет текста в блоке div будет синим.

Для тех из вас, кто не слишком разбирается в математике, всегда есть этот графический метод.


Каскад

Мы уже говорили о том, что может быть много разных источников стилей CSS. Как мы узнаем, какой из них будет использоваться?

В CSS таблицы стилей каскадируются в порядке важности. Если правила в разных таблицах стилей конфликтуют друг с другом, выигрывает правило из наиболее важной таблицы стилей.

Ниже приведен список возможных источников правила CSS. Они перечислены в порядке важности.Как создатель таблицы стилей вы являетесь автором .

  1. Автор встроенных стилей
  2. Автор встроенных стилей (также известных как внутренние таблицы стилей)
  3. Автор внешней таблицы стилей
  4. Таблица стилей пользователя
  5. Таблица стилей браузера по умолчанию

Мы уже видели каскад в действии. Все браузеры имеют таблицу стилей по умолчанию, которая обозначена как наименее важная.

Каждый раз, когда мы определяем правило CSS, такое как font-family, мы фактически переопределяем правило таблицы стилей браузера по умолчанию .Это каскад в действии.

Что происходит при возникновении конфликтов?

Могут быть случаи, когда два или более объявления применяются к одному и тому же элементу. Также не исключено, что между ними может быть конфликт. Когда возникают подобные конфликты, используется объявление с наибольшим весом. Итак, как определяется вес?

Правила каскада
  1. Найти все объявления, селекторы которых соответствуют определенному элементу.
  2. Сортировка этих деклараций по весу и происхождению
  3. Сортировка селекторов по специфике
  4. Сортировать по указанному порядку

Полное описание этих правил см. В разделе Что происходит при возникновении конфликтов?

Вопросы заказа CSS

В CSS имеет значение порядок, в котором мы указываем наши правила.

Если существует правило из той же таблицы стилей с тем же уровнем специфичности, то правило, объявленное последним в документе CSS, будет применено.

Пример лучше всего это проиллюстрирует.

1. p {цвет: черный;}
2. ul {border: 1px сплошной розовый;}
3. p.intro {цвет: коричневый;}
4. p {color: red;} 

В приведенном выше коде мы создали правила для абзацев трех разных цветов. Ясно, что эти правила противоречат друг другу.

Правило № 3 является наиболее конкретным, поскольку оно определяет все абзацы, которые также имеют значение атрибута класса intro .

Правила №1 и №4 противоречат друг другу. Они взяты из одной таблицы стилей и имеют одинаковый уровень специфичности. Если все остальное в каскаде одинаково, мы сортируем по указанному порядку .

Правило №4 объявляется последним в документе CSS и, следовательно, отменяет ранее объявленное Правило №1.

Вернуться на страницу четвертого класса »

Что такое CSS? — Учебник CSS

Введение

Это руководство предполагает знание HTML начинающим.

Каскадные таблицы стилей (CSS) — это простой механизм для добавления стиля (например, шрифтов, цветов, интервалов) в веб-документы.

Если вы когда-нибудь хотели, чтобы ваш веб-сайт выглядел потрясающе визуально, CSS для вас. Чтобы увидеть мощь CSS, посетите CSS Zen Garden. CSS Zen Garden отображает точно такой же контент (с использованием того же кода HTML), но использует другой CSS, чтобы радикально изменить внешний вид контента.

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

Komodo Edit — работает в Mac OS X, Windows, Linux.
Позволяет нам писать код намного эффективнее, выделяя синтаксис, который мы будем обсуждать в учебной программе.

Chrome — работает в Mac OS X, Windows, Linux.
Современный веб-браузер, позволяющий просматривать и отлаживать наш контент.

Учебник

Этот учебник упорядочен по тому, как мы преподаем содержание семинаров, но перечисленный материал можно изучить в свое свободное время.Мы рекомендуем вам следовать инструкциям в том порядке, который мы предоставили.

Мастерская 1

  1. Основы
  2. Списки стилей и ссылки
  3. Наследование и каскад
  4. Столы для укладки
  5. Поплавки и клиринговые

Мастерская 2

  1. Расширенные селекторы CSS
  2. Формы укладки
  3. Модель коробки CSS для макета
  4. Фоновые изображения CSS
  5. Статическое и относительное позиционирование
  6. Абсолютное и фиксированное позиционирование

Часто задаваемые вопросы

Эти вопросы предназначены для того, чтобы помочь вам решить конкретные, но общие проблемы, которые могут возникнуть при использовании этого языка.Они предназначены для чтения после того, как вы изучите руководство и начнете фактическую разработку.

Как добиться единообразного отображения шрифта в разных браузерах?

Невозможно гарантировать, что шрифт будет точно отображаться в каждом браузере на каждом компьютере. Однако почти всегда доступны 11 шрифтов. Это так называемые «веб-шрифты». Вы можете найти дополнительную информацию о веб-безопасных шрифтах и ​​альтернативных «стеках шрифтов» здесь: Стили текста CSS.

Как я могу построить простую трехколоночную раскладку?

Трехколонный макет — очень привлекательный и популярный дизайн, поэтому нет необходимости начинать с нуля. Следующая ссылка приведет вас к списку из трех столбцов CSS-файлов с различным дизайном, которые вы можете легко применить на своем веб-сайте: https://www.csstutorial.net/3-column-layout.php

Дополнительные ресурсы

В произвольном порядке эти внешние ресурсы дополняют учебное пособие, предоставляя ссылки на часто используемую информацию и дальнейшее обучение.

Стили текста

Введение в типографику с использованием CSS.

Концепции веб-дизайна

Пошаговое описание некоторых теорий и концепций, лежащих в основе разработки веб-сайта, на более высоком уровне. Обсуждает такие темы, как типографика, цветовые схемы, каркасные схемы, информационная архитектура и многое другое.

Сокращенная ссылка

«Шпаргалка» по разработке CSS. Сводит большую часть знаний, необходимых для разработки CSS, на одной веб-странице.

Верхние и нижние колонтитулы, столбцы и шаблоны

Глубоко исследует структуру страницы в HTML и CSS с точки зрения дизайна, ориентированного на пользователя.Это отличный ресурс, если вы планируете разработать общедоступный веб-сайт, доступный многим пользователям.

CSS 101 | Учебник | Институт передовых средств массовой информации Беркли

Начать с базовой HTML-страницы

Используйте страницу index.html из учебника HTML в качестве отправной точки. Мы внесем одно небольшое изменение в ваш файл: сразу после открывающего тега мы добавим тег

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

Если вы не уверены, верен ли ваш проект из предыдущего урока, и хотите начать все заново, ниже представлена ​​шаблонная HTML-страница из последнего урока. Если хотите, вы можете использовать это как отправную точку.

  

    
        
        
         Моя первая веб-страница 
        
        
    
    
        
<заголовок>

Джереми Рю

Моя первая веб-страница

<статья>

Фотографии с моего последнего отпуска

 Цветок

Lorem ipsum dolor sit amet, conctetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud упражнение ullamco labouris nisi ut aliquip ex ea Commodo Concequat. Duis aute irure dolor в репрехендерит в сладострастном velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, загорелся in culpa qui officia deserunt mollit anim id est Laborum.

Lorem ipsum dolor sit amet, conctetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud упражнение ullamco labouris nisi ut aliquip ex ea Commodo Concequat. Duis aute irure dolor в репрехендерит в сладострастном velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, загорелся in culpa qui officia deserunt mollit anim id est Laborum.

Lorem ipsum dolor sit amet, conctetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.Ut enim ad minim veniam, quis nostrud упражнение ullamco labouris nisi ut aliquip ex ea Commodo Concequat. Duis aute irure dolor в репрехендерит в сладострастном velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, загорелся in culpa qui officia deserunt mollit anim id est Laborum.

<статья>

Фотографии с моего последнего отпуска

 Цветок

Lorem ipsum dolor sit amet, conctetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud упражнение ullamco labouris nisi ut aliquip ex ea Commodo Concequat. Duis aute irure dolor в репрехендерит в сладострастном velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, загорелся in culpa qui officia deserunt mollit anim id est Laborum.

Lorem ipsum dolor sit amet, conctetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud упражнение ullamco labouris nisi ut aliquip ex ea Commodo Concequat. Duis aute irure dolor в репрехендерит в сладострастном velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, загорелся in culpa qui officia deserunt mollit anim id est Laborum.

Lorem ipsum dolor sit amet, conctetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.Ut enim ad minim veniam, quis nostrud упражнение ullamco labouris nisi ut aliquip ex ea Commodo Concequat. Duis aute irure dolor в репрехендерит в сладострастном velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, загорелся in culpa qui officia deserunt mollit anim id est Laborum.

Код CSS

находится между открывающим и закрывающим тегами

Обратите внимание на добавление тегов стиля выше.Обязательно добавьте их на свою страницу в соответствующем месте вашего документа.

Добавление стилей корпуса

Стили, которые влияют на тег body вашего HTML-документа, считаются базовыми стилями. Поскольку вся ваша страница находится внутри тега, они повлияют на все!

Сначала мы изменим шрифт на Garamond, создадим запасной вариант для Georgia, а затем на любой шрифт с засечками. Также установим цвет фона.

  body {
    цвет фона: # 4A547F;
    семейство шрифтов: Garamond, Georgia, serif;
}
  

Приведенный выше код находится внутри ваших тегов стиля.

Добавление стилей в контейнер ID

Ранее мы создали тег

для вашей страницы. Этот идентификатор доступен в CSS с помощью символа решетки #container . Это дает нам возможность специально стилизовать этот тег и отличать его от других тегов div.

Стили, которые мы добавим, - это цвет фона к более белому цвету, добавление отступов и установка определенной ширины. Установив для левого и правого полей значение «auto», мы создаем эффект центрирования этого тега div.

  #container {
    цвет фона: #eeeeee;
    отступ: 10 пикселей;
    ширина: 500 пикселей;
    маржа слева: авто;
    маржа-право: авто;
    граница: 1px, пунктирная черная;
}
  

Добавьте следующее правило CSS после правила основного текста. Будьте осторожны, чтобы не поместить одно в другое.

Для основного заголовка мы сделаем размер шрифта больше размера по умолчанию, изменив его на 60 пикселей. Мы также хотим центрировать текст и удалить поля по умолчанию.

  h2 {
    размер шрифта: 60 ​​пикселей;
    выравнивание текста: центр;
    маржа: 0;
}

h3 {
    выравнивание текста: центр;
    margin-top: 0;
}
  

Стилизация неупорядоченного списка для навигации

Мы используем неупорядоченный список для нашей навигации, обозначенный тегом

    . Давайте отцентрируем содержимое тега, добавим цвет фона и 10 пикселей отступа.

    Для тега

  • мы будем отображать в строке , что означает, что мы хотим, чтобы он выполнялся как текст, вместо того, чтобы каждый элемент находился в отдельной строке.Это приведет к тому, что каждый элемент списка будет отображаться рядом.

      ul {
        выравнивание текста: центр;
        цвет фона: # 939CBF;
        отступ: 10 пикселей;
    }
    
    li {
        дисплей: встроенный;
        отступ: 10 пикселей;
    }
      

    Еще мы можем изменить цвет фона всякий раз, когда пользователь наводит указатель мыши на этот тег

  • , используя псевдоселектор : hover . : Hover означает, что этот стиль будет применяться только тогда, когда пользователь наводит указатель мыши на тег li.

      li: hover {
        цвет фона: белый;
        курсор: указатель;
    }
      

    Стилизация цитаты блока

    Чтобы две цитаты блока выделялись и визуально указывали, что они взяты из другого источника, мы стилизуем их с помощью селектора классов .quote .

      .quote {
        маржа: 30 пикселей;
        стиль шрифта: курсив;
        семейство шрифтов: Helvetica, Arial, serif;
        высота строки: 20 пикселей;
        цвет: # 999999;
    }
      

    Изменение размера изображения

    Если вы хотите изменить размер изображения, вы также можете сделать это в CSS.Мы можем установить свойства ширины и высоты после ссылки на изображение, например, width: 300px . Но мы установим ширину 100% , чтобы она занимала все отведенное пространство. Это также сделает его более отзывчивым. Существует специальное значение auto , которое мы можем установить по высоте. Авто просто означает, что высота должна автоматически устанавливаться в соответствующем соотношении с учетом ширины изображения.

      img {
        ширина: 100%;
        высота: авто;
    }
      

    Центрирование изображения

    Если вы когда-нибудь захотите центрировать изображение, вы должны сначала изменить его свойство display на block .Это означает, что изображение не будет встроенным, как текст, и вы можете применить к изображению значения margin-left и margin-right.

      / * центрировать изображение * /
    img {
        дисплей: блок;
        маржа слева: авто;
        маржа-право: авто;
    }
      

    Затем добавьте несколько собственных стилей. Важно экспериментировать.

    Назначение рецептурной практики

    Практическое задание - создать рецепт вкусной еды.

    Рецепт требует следующих элементов:

    • Заголовок или
      , описывающий рецепт.Это означает использование тегов
      и

      .
    • Фотография, изображающая готовую еду. Вы можете загрузить их на хостинг PostImage.
    • Список ингредиентов
    • Описание процесса приготовления еды и, возможно, любая справочная информация о еде.

    Часто задаваемые вопросы о назначении рецептов CSS

    В. Как мне добавить изображение на мой сайт рецептов?

    A. Вы должны загрузить изображение в PostImage, а затем скопировать URL-адрес Direct Link в буфер обмена.Затем напишите HTML-тег img и вставьте ссылку PostImage в атрибут src = "" . Не забывайте об атрибуте alt!

      example
      
    В. Как добавить фоновое изображение?

    A. Вы должны либо найти фоновое изображение в Интернете, либо загрузить свое собственное в PostImage. Вы должны установить изображение, чтобы оно служило фоном элемента. Вы можете сделать это с телом , если хотите, чтобы изображение было фоном всей страницы.

      body {
        фоновое изображение: URL (https://example.com/example.png);
    }
      

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

      body {
        фоновое изображение: URL (https://example.com/example.png);
        фон-повтор: без повторения;
        background-position: по центру вверху; / * положение по горизонтали и вертикали * /
        размер фона: обложка; / * также используйте "contain", чтобы не обрезать * /
    }
      
    Q.В чем разница между
      и
        ?

        A. Тег

          означает «неупорядоченный список» и представляет собой список, в котором порядок не так важен. Подумайте: маркированный список. Тег
            - это нумерованный список, в котором важен порядок (например, следующие шаги в рецепте). Вот примеры обоих:

              
            • Сливочное масло
            • Сахар
            • Яйцо
            • Мука
            1. Смешайте все в миске.
            2. Поставить в духовку.
            3. Ешьте.
            В. Как включить шрифты Google?

            A. Вы можете посетить веб-сайт Google Fonts и выбрать шрифт, который хотите добавить. Нажмите кнопку + , а затем, когда вы будете готовы, нажмите на нижнюю вкладку, и она даст вам ссылку на код, который вы можете вставить в вашего документа, чтобы встроить шрифт. Вы должны поместить этот перед в свой тег

            Вам нужно будет добавить свойство font-family в любые области, в которых вы хотите использовать этот шрифт.Не рекомендуется использовать отображаемый шрифт в основном тексте.

            В. Какие еще классные трюки с CSS я могу сделать?

            A. Ознакомьтесь с CoDrops, чтобы получить некоторые идеи и руководства. Существует также CodePen, который является более техническим, но иногда студенты находят интересные вещи, которые они могут включить в свой сайт. Наконец, Google - ваш друг.

            Никаких особенных заслуг за потрясающие функции… но они выглядят забавно.

            Обзор CSS-селекторов

            В приведенном выше уроке мы рассмотрели три основных типа селекторов в CSS:

            • Тип (или имя) селектор для выбора элемента по его имени div

            • Селектор идентификатора для выбора элемента по его атрибуту идентификатора #oneitem

            • Селектор класса для выбора групп элементов по их атрибуту класса .группа

            В дополнение к этому, на самом деле существует целый ряд способов выбора элементов в документе. Мы рассмотрим два из них.

            Селекторы CSS с разделителями-запятыми

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

              p, div, h2 {
                черный цвет;
                размер шрифта: 12 пикселей;
            }
              

            В приведенном выше блоке кода правило CSS применяется к тегам

            , тегам

            и

            тегам.

            Это эквивалентно записи:

              p {
                черный цвет;
                размер шрифта: 12 пикселей;
            }
            div {
                черный цвет;
                размер шрифта: 12 пикселей;
            }
            h2 {
                черный цвет;
                размер шрифта: 12 пикселей;
            }
              

            В общем, это ярлык; больше ничего.

            Селекторы CSS с разделением пробелами

            Когда у вас есть несколько элементов в селекторе, разделенных пробелами, это означает, что некоторые элементы вложены в другие элементы.

              / * влияет только на теги p внутри элемента контейнера * /
            #container p {
              фон: оранжевый;
            }
            
            / * Однако это повлияет на все теги p * /
            п{
                фон: оранжевый
            }
              

            Приведенный выше код будет нацелен только на теги

            , которые являются потомками элемента #container . Если в документе есть другие теги p, их оставляют в покое.

            Коробка модель

            Теперь давайте рассмотрим блочную модель, которая состоит из полей , отступов и границы .Важно отметить, что когда вы устанавливаете ширину с помощью CSS, она применяется только к содержимому внутри поля. Отступы, поля и границы - дополнительные. (Обратите внимание, однако, есть правило CSS, называемое box-sizing, которое может изменить этот факт).

            В коде это будет выглядеть так:

              
                <стиль>
                div {
                    ширина: 200 пикселей;
                    отступ: 10 пикселей;
                    граница: 2 пикселя;
                    маржа: 20 пикселей;
                }
                
            
            
                
            Здравствуйте

            Указание нескольких значений поля или заполнения

            При указании полей или отступов вы можете установить все четыре значения одновременно.

              / * сверху, справа, снизу, слева * /
            div {
                поля: 3px 4px 10px 5px;
            }
            
            / * приведенное выше эквивалентно * /
            div {
                маржа сверху: 3 пикселя;
                маржа справа: 4 пикселя;
                нижнее поле: 10 пикселей;
                маржа слева: 5 пикселей;
            }
              

            Эти числа соответствуют сверху, справа, снизу, слева соответственно.

            Представьте, что часы начинаются в 12:00 (вверху), а затем считают по часовой стрелке: 3:00 (справа), 6:00 (внизу) и 9:00 (слева).

            Замок C разработан Дмитрием Барановским из Noun Project, Attribution (CC BY 3.0)

            Вы также увидите экземпляры, в которых указаны только два числа:

              / * 10 пикселей относятся к верхнему и нижнему краям, а 15 пикселей относятся к левому и правому * /
            div {
                отступ: 10 пикселей 15 пикселей;
            }
            
            / * приведенное выше эквивалентно * /
            div {
                padding-top: 10 пикселей;
                padding-bottom: 10 пикселей;
                отступ справа: 15 пикселей;
                отступ слева: 15 пикселей;
            }
              

            Первое число относится как к верхнему, так и к нижнему отступу, а второе число относится к левому и правому измерениям.

            В редких случаях вы можете увидеть три указанных числа:

              / * 10 пикселей сверху, 15 пикселей слева и справа, 20 пикселей снизу * /
            div {
                маржа: 10px 15px 20px;
            }
              

            В этих ситуациях первое число - только верхнее, второе число - левое и правое, а третье число - нижнее. Подумайте: мы все еще движемся по часовой стрелке, но без четвертого числа мы просто по умолчанию используем то, на что было установлено правильное измерение.

            Правильное измерение коробчатой ​​модели

            Существует нелогичная проблема с блочной моделью в CSS.Внешний вид блока определяется заполнением , границей и шириной вместе. Это означает, что если вы установите ширину поля на 200 пикселей, затем добавите границу в 1 пиксель, а затем добавьте 10 пикселей заполнения, поле фактически будет отображаться как 222 пикселей (200 + 1 + 1 + 10 + 10) .

              #container {
                ширина: 960 пикселей;
            }
            #Внутренняя коробка{
                ширина: 960 пикселей;
                отступ: 10 пикселей;
                граница: сплошной красный 1px;
            }
              

            В приведенном выше примере ширина контейнера составляет 960 пикселей, а ширина внутреннего блока также 960 пикселей.Но вы заметите, что внутренняя коробка не подходит! Это связано с тем, что когда вы добавляете отступ, он расширяет поле на в дополнение к к ширине. Внутреннее поле имеет границу (показано красным) и отступ (показано оранжевым).

            Когда вы добавляете отступ или границу, это увеличивает размер поля сверх установленного вами значения ширины.

            Политика повторной публикации

            Этот контент не может быть переиздан в печатной или цифровой форме без письменного разрешения Berkeley Advanced Media Institute.Пожалуйста, ознакомьтесь с нашей Политикой распространения контента.

            Авторское право UC Berkeley Graduate School of Journalism 2020. Любые примеры кода в этих руководствах предоставлены в соответствии с лицензией MIT.

            Как использовать свойство! Important в CSS

            При стилизации вашего веб-сайта вы можете применить несколько объявлений CSS к одному и тому же элементу. В этом случае браузер определяет, какие объявления наиболее актуальны для элемента, и применяет их.

            Эта релевантность - или специфичность - основана на правилах сопоставления селекторов CSS.Селекторы CSS - это модификаторы, которые сообщают браузеру, какие элементы следует стилизовать с помощью CSS. Существуют разные типы селекторов, каждый со своим синтаксисом и уровнем специфичности.

            Однако есть исключение из правил специфичности CSS. Это известно как правило! Important. Давайте кратко рассмотрим правила специфичности, а затем подробнее рассмотрим правило! Important ниже. Покроем:

            Обзор специфики CSS

            Следующие типы селекторов ранжируются от самой высокой специфичности к самой низкой:

            1. Селекторы идентификатора : они выбирают элемент на основе его атрибута идентификатора и имеют синтаксис #idname .
            2. Селекторы классов, селекторы атрибутов и селекторы псевдоклассов:
              a) Селекторы классов выбирают все элементы в классе CSS и имеют синтаксис . Имя класса .

              b) Селекторы атрибутов выбирают все элементы, которые имеют данный атрибут и имеют синтаксис [attr] .

              c) Селекторы псевдокласса выбирают элементы только в особом состоянии, например посещенном или наведенном, и имеют синтаксис selector: псевдокласс .

            3. Селекторы типа : они выбирают все элементы HTML, которые имеют заданное имя узла и синтаксис элемент .

            Примечание : Универсальный переключатель (*) не влияет на специфичность.

            Если несколько объявлений с одинаковой специфичностью, таких как селектор класса и селектор атрибутов, сделаны для одного и того же элемента, то последнее объявление (т. Е. Объявление, перечисленное ниже в таблице стилей) будет применено к элементу.

            Еще одно важное правило, которое следует учитывать при кодировании HTML и CSS вашего веб-сайта, - это! Important. Это исключение из всех упомянутых выше правил специфичности. Давайте подробнее рассмотрим, что это означает ниже.

            Что значит "важно" в CSS?

            В CSS «important» означает, что к элементу должно применяться только значение свойства! Important, а все другие объявления элемента должны игнорироваться. Другими словами, важное правило можно использовать для переопределения других правил стилизации в CSS.

            Хотя при объединении значений свойств проще, чем следовать множеству правил специфичности, использование свойства! Important считается плохой практикой. Это потому, что он нарушает естественное каскадирование таблиц стилей, что значительно усложняет обслуживание и отладку вашего сайта.

            Однако есть определенные варианты использования, в которых использование свойства! Important является идеальным. Одним из таких вариантов использования является определение служебных классов, таких как класс кнопки.

            Допустим, вы хотите, чтобы любой элемент, на который нацелен класс кнопки, выглядел как одна и та же кнопка: оранжевый фон, белый цвет шрифта, сплошная черная рамка.Без свойства! Important вы бы использовали следующий код, чтобы ссылка выглядела как кнопка.

            Вот HTML:

              
            Нажмите меня

            Вот код CSS:

              
            .button {
            background: # FF7A59;
            цвет: #FFFFFF;
            отступ: 5 пикселей;
            размер шрифта: 50 пикселей;
            радиус границы: 5 пикселей;
            граница: сплошной черный цвет 2 пикселя;
            }

            Вот результат:

            См. Элемент Pen Anchor с классом кнопки Кристины Перриконе (@hubspot) на CodePen.

            Теперь предположим, что вы продолжаете создавать свою веб-страницу. В какой-то момент вы добавляете в свой HTML новый раздел с идентификатором «content». Этот раздел содержит еще одну ссылку с классом кнопки. Вы также добавляете еще одно правило в свой CSS, определяя, что все элементы с именем «content» имеют сплошную синюю рамку. У вас будет следующий код.

            Вот HTML:

              
            Click Me

            text text blah Click Me



            Вот код CSS:

              
            .кнопка {
            фон: # FF7A59;
            цвет: #FFFFFF;
            отступ: 5 пикселей;
            размер шрифта: 50 пикселей;
            радиус границы: 5 пикселей;
            граница: сплошной черный цвет 2 пикселя;
            }
            #content a {
            border: 4px solid # 00A4BD;
            }

            Вот результат:

            См. Pen xxgQYKq Кристины Перриконе (@hubspot) на CodePen.

            Поскольку селектор ID имеет более высокую специфичность, чем селектор классов, стиль CSS селектора #content a имеет приоритет над стилем CSS селектора .кнопка . Вот почему второй элемент имеет сплошную синюю рамку, а не сплошную черную.

            Подобный сценарий неизбежен, независимо от того, создаете ли вы сайт с нуля или используете фреймворк вроде Bootstrap CSS. Чем больше объем кода, с которым вы работаете, тем сложнее отслеживать специфику ваших селекторов CSS.

            Вы можете избежать несоответствий стиля вышеупомянутого сценария на вашем сайте, используя свойство! Important. Давайте посмотрим, как именно использовать это свойство ниже.

            Как использовать Important в CSS

            Использовать правило! Important в CSS очень просто. Вам просто нужно добавить! Important в конце строки, непосредственно перед точкой с запятой. Итак, синтаксис будет:

              
            element {
            style property! Important;
            }

            Давайте посмотрим, как изменяется CSS для приведенного выше примера при добавлении правила! Important.

            Важный пример CSS

            В этом примере вы хотите, чтобы любой элемент, на который нацелен класс кнопки, выглядел как одна и та же кнопка: оранжевый фон, белый цвет шрифта, сплошная черная рамка.

            Проблема в том, что у вас есть некоторые элементы привязки (или ссылки), определенные классом кнопки и именем идентификатора. В вашем CSS элементы с этим именем ID будут иметь сплошную синюю рамку. Поскольку селекторы идентификаторов более специфичны, чем селекторы классов, эти элементы привязки будут иметь стиль кнопки с оранжевым фоном и белым цветом шрифта, но они будут иметь сплошную синюю рамку вместо сплошной черной.

            Вам не нужен такой непоследовательный стиль на вашем сайте. Таким образом, вы будете использовать правило! Important при указании CSS для класса кнопки.

            HTML остается прежним:

              
            Click Me

            text text blah Click Me



            CSS становится:

              
            .button {
            background: # FF7A59! Important;
            цвет: #FFFFFF! Important;
            отступ: 5 пикселей! Важно;
            размер шрифта: 50 пикселей! Важно;
            border-radius: 5px! Important;
            граница: сплошной черный 2 пикселя! Important;
            }
            #content a {
            border: 4px с точками # 00A4BD;
            }

            Результат:

            См. Важный пример CSS для пера Кристины Перриконе (@hubspot) на CodePen.

            Вы заметите, что оба элемента выглядят одинаково благодаря правилу! Important.

            CSS Важно Не работает

            Допустим, вы используете правило! Important в своем CSS, но элементы стилизованы не так, как вы хотите. Есть только пара причин, по которым правило! Important не работает.

            Во-первых, правило! Important не будет работать в таблице стилей автора, если оно используется в таблице стилей пользователя. Таблица стилей для авторов предоставляется автором веб-страницы.Таблица стилей пользователя предоставляется пользователем браузера.

            По умолчанию правила CSS в таблице стилей автора переопределяют правила в таблице стилей пользователя. Однако для создания баланса сил между авторами и пользователями! Важные правила в таблице стилей пользователя будут иметь приоритет перед важными правилами в таблице стилей автора. Эта функция CSS разработана для обеспечения доступности. Пользователи, которым требуются более крупные шрифты, определенные цветовые комбинации или другие требования из-за нарушений зрения, могут сохранять контроль над представлением веб-страницы.

            Также возможно, что вы добавили! Important в набор правил CSS, который переопределяется другим набором правил CSS с правилом! Important в таблице стилей. Возможно, вы сделали это случайно, что объясняет, почему important не работает, - или вы можете сделать это специально.

            Допустим, вы изменили цветовую схему своего веб-сайта или не хотите, чтобы все элементы с классом кнопки выглядели одинаково. Какой бы ни была причина, вы можете изменить правило! Important в своем CSS.Давайте посмотрим, как это сделать ниже.

            Как переопределить важное в CSS

            Есть два способа переопределить тег! Important в CSS. Вы можете добавить еще одно правило CSS с тегом! Important и использовать селектор с более высокой специфичностью. Или вы можете добавить другое правило CSS с тегом! Important, используя тот же селектор, и просто добавить его позже в таблицу стилей.

            Почему работают эти два метода? Из-за правил специфики. Когда два объявления, использующие правило! Important, применяются к одному и тому же элементу, будет применяться объявление с большей специфичностью или объявление, определенное последним.Возможно, вы помните эти правила из введения, но важно понимать, что они применяются к объявлениям, использующим правило! Important, а также к объявлениям, не использующим это правило.

            Вместо того, чтобы заменять свойство! Important в CSS другим свойством! Important, лучше всего переписать правило и полностью отказаться от использования этого свойства. Но иногда это невозможно.

            Возьмем, к примеру, пользовательские таблицы стилей. Используя настраиваемую таблицу стилей пользователя, читатель может переопределить стили веб-сайта в соответствии со своими пожеланиями.Читатель может, например, увеличить размер шрифта или изменить цвет типографики на странице, чтобы они могли лучше видеть контент.

            Поскольку определяемая пользователем таблица стилей переопределяет таблицу стилей автора независимо от специфики, читатель может добавлять правила CSS без тега! Important. Однако, если таблица стилей автора использует правило! Important для определения размера или цвета шрифта, тогда в таблице стилей пользователя будет необходимо правило! Important.

            Давайте продолжим использовать тот же пример кнопки сверху.Скажем, на моем веб-сайте уже были применены важные правила к классу кнопок. Но теперь я хочу, чтобы все элементы с именем «content» имели сплошную синюю рамку.

            Мне нужно просто переписать код, удалив все важные теги! Из моего CSS. Но, допустим, у меня не хватает времени и я ищу быстрое решение. Затем я мог бы просто добавить тег! Important в селектор CSS ID. Тогда оба объявления будут использовать свойство! Important, и, поскольку селекторы ID имеют более высокую специфичность, чем селекторы классов, элемент в разделе содержимого будет иметь сплошную синюю рамку.

            HTML остается прежним:

              
            Click Me

            text text blah Click Me



            CSS становится:

              
            .button {
            background: # FF7A59! Important;
            цвет: #FFFFFF! Important;
            отступ: 5 пикселей! Важно;
            размер шрифта: 50 пикселей! Важно;
            border-radius: 5px! Important;
            граница: сплошной черный 2 пикселя! Important;
            }
            #content a {
            border: 4px с точками # 00A4BD! Important;
            }

            Результат:

            См. «Пример пера 1 для переопределения! Важное правило» Кристины Перриконе (@hubspot) на CodePen.

            Правила! Important по существу отменяют друг друга. Итак, поскольку селектор ID имеет более высокую специфичность, чем селектор классов, второй элемент имеет сплошную синюю рамку, а не сплошную черную.

            Вы также можете переопределить правило! Important, используя селектор CSS той же специфичности, но разместив его позже в таблице стилей.

            Допустим, я хочу, чтобы все кнопки на моем веб-сайте имели сплошную синюю рамку. Опять же, мне нужно просто переписать код, но я могу использовать тег! Important для быстрого исправления.Используя тот же селектор классов .btn с новым правилом для сплошной синей границы и тегом! Important, я могу просто добавить его после существующего правила в таблице стилей. Поскольку он появится позже, он имеет более высокую специфичность и будет применяться к элементам с классом .btn.

            HTML остается прежним:

              
            Click Me

            text text blah Click Me



            CSS становится:

              
            .кнопка {
            фон: # FF7A59! important;
            цвет: #FFFFFF! Important;
            отступ: 5 пикселей! Важно;
            размер шрифта: 50 пикселей! Важно;
            border-radius: 5px! Important;
            граница: сплошной черный 2 пикселя! Important;
            }
            .button {
            border: 4px solid # 00A4BD! Important;
            }

            Вот результат:

            См. «Пример пера 2 для переопределения! Важное правило» Кристины Перриконе (@hubspot) на CodePen.

            Использование свойства! Important в вашем CSS

            Хотя объявления! Important следует редко использовать в коде, все же необходимо понимать, что это за свойство и как его использовать.Возможно, вам понадобится использовать правило! Important в пользовательских таблицах стилей. Возможно, вы возьмете на себя управление веб-сайтом, который содержит экземпляры этого правила. Какой бы ни была причина, знакомство со свойством! Important является полезным шагом в изучении HTML и CSS.

            Примечание редактора: этот пост был первоначально опубликован в мае 2020 года и был обновлен для полноты.

            CSS в терминах непрофессионала

            Независимо от того, являетесь ли вы простым кодировщиком HTML или продвинутым внутренним кодировщиком, предоставляющим динамические веб-страницы, вам нужен CSS.Каскадные таблицы стилей (CSS) придают этим веб-страницам внешний вид веб-страницы, отображаемой для пользователя. Как правило, файлы CSS - это макет и дизайн веб-страницы. От размещения изображений и текста до размера шрифта и цвета фона CSS контролирует способ отображения этих HTML-элементов в браузере.

            Что такое CSS?

            Вы знаете, что файлы CSS содержат стили на веб-странице, но что такое стили веб-элементов и как они вписываются в HTML? CSS разработан для решения проблемы стилизации.

            Когда в 1990-х годах HTML и веб-сайты стали более общедоступными, веб-страницы старого стиля использовали HTML для изменения размера и цвета шрифта, фона страницы или отображения изображений. HTML никогда не предназначался для форматирования страниц, но технологии развивались, и разработчикам нужен был способ сделать HTML-страницы красивее. Разработчикам нужен был не только способ стилизации страниц, но и способ сделать код более чистым и динамичным. После первоначальных версий HTML в более новых версиях были введены элементы стиля, такие как элемент абзаца

            или элемент шрифта .Эти элементы немного отформатировали текст для лучшей компоновки.

            По мере того, как HTML становился все более продвинутым, эти элементы начали расти и создавать громоздкий, трудный для чтения код, которым было нелегко управлять. Когда компания решила изменить стиль своего веб-сайта, разработчикам приходилось переходить со страницы на страницу, чтобы изменить стили HTML-тегов. Вы можете себе представить, насколько это может быть трудоемко и трудоемко, когда у вас есть тысячи или даже несколько десятков страниц.

            Ответом на надвигающуюся проблему с кодом стала стилизация CSS.Файлы CSS позволяли кодировщикам создавать классы стилей и динамические макеты. Эти стили хранятся в одном файле, и их можно применять ко всем страницам. Один файл CSS может содержать стили и макеты для тысяч страниц.

            Зачем нужен CSS?

            CSS решает многие проблемы стилизации, с которыми сталкивались программисты на заре HTML. CSS стал намного более продвинутым, но изначально CSS облегчил жизнь дизайнерам веб-сайтов.

            Есть три основных преимущества использования CSS.

            Представьте, что у вас есть 10 файлов для ваших веб-страниц. Вы используете только HTML-теги, а не CSS. Если вы хотите внести изменения в свои шрифты, вы просто меняете класс в файле CSS вместо того, чтобы переходить к каждому из своих тегов шрифтов и изменять макеты. Когда вы вносите изменения в файл класса CSS, изменения распространяются на каждую из ваших 10 HTML-страниц без изменения каких-либо из них вручную. Когда вы создаете резервную копию файлов, вам нужно создать резервную копию только одного файла для всех ваших стилей.

            Как CSS работает с HTML?

            Начиная с HTML 4.0, кодеры могут размещать все стили в отдельных файлах. Вы также можете разместить свои стили CSS непосредственно в HTML в теге, но это обычно не одобряется в мире кодирования. По большей части, если это не смягчающие обстоятельства, вы хотите поместить все свои стили CSS в отдельный файл. Обычно это просто текстовый файл, но он имеет расширение .css. Вы можете идентифицировать эти файлы из файлов библиотеки JavaScript с расширением файла .css, где в JavaScript есть расширение.js расширение файла

            Следующий код является очень простым стандартным файлом HTML.


            Это моя первая веб-страница


            Этот файл содержит мой первый HTML-код.


            Предположим, что в старых стилях HTML вы хотите выровнять текст по центру. HTML предоставил вам тег с именем center или

            .Приведенный выше HTML изменится на:


            Это моя первая веб-страница


            Этот файл содержит мой первый HTML-код.


            Результатом центрального тега является то, что текст «Этот файл содержит мой первый HTML-код» будет центрирован в браузере пользователя.Предположим, у вас есть несколько таких тегов

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

            С помощью CSS вы можете центрировать абзацы с помощью ограниченного кода, который не нужно повторять во всем файле и базе кода.Например, следующий CSS центрирует ваши теги абзацев:

            p {
            выравнивание текста: по центру;
            }

            В приведенном выше коде CSS первая часть фрагмента - это тег «p». Этот CSS указывает, что вы хотите изменить стиль своих абзацев. Вы можете развернуть и внести более четкие изменения в определенные абзацы, но в этом конкретном примере изменяются все теги абзацев на всей странице.

            Каждый класс CSS или блок кода заключен в квадратные скобки.Если у вас есть опыт работы с C, C ++, Java или C #, вы узнаете скобки и поймете их важность. Все определения ваших классов должны быть заключены в эти скобки. В этом примере определение класса - это только одна строка кода. Все строки кода CSS в скобках определения класса должны заканчиваться точкой с запятой. В этом примере определение класса - text-align: center; Чтобы понять и запомнить коды стилей CSS, требуется некоторое время, но эта конкретная строка кода указывает браузеру центрировать текст.

            Что произойдет, если вы решите изменить выравнивание всех абзацев по левому краю? Вы можете сделать это, изменив одну строку кода. Кстати, выравнивание по левому краю используется по умолчанию, поэтому технически вам не нужно указывать выравнивание по левому краю, но для этого примера мы укажем выравнивание по левому краю для целей обучения.

            Чтобы изменить выравнивание абзаца, вы должны изменить стиль CSS на следующий:

            p {
            text-align: left;
            }

            Вы также можете задать выравнивание текста по правому краю, используя следующий код CSS:

            p {
            выравнивание текста: по правому краю;
            }

            После того, как вы создали свои стили (в данном случае это только один стиль), вы сохраняете их в файл CSS.Сохраните один из приведенных выше фрагментов кода CSS в файл и присвойте расширению файла расширение .css. В этом примере назовите файл «styles.css» и сохраните его в том же каталоге, что и ваш HTML-файл.

            Теперь возьмем HTML, который мы написали ранее. Вместо использования тега

            давайте воспользуемся нашим новым файлом CSS. Обратите внимание на изменения в следующем HTML-коде.


            Это моя первая веб-страница


            Этот файл содержит мой первый HTML-код.


            Обратите внимание, что тег «ссылка» был добавлен в HTML. Этот тег находится в теге и ссылается на только что созданный файл CSS. Свойства в теге указывают, что файл является таблицей стилей, тип текста отформатирован как CSS и имя файла.Если файл был расположен в каталоге, вам нужно было бы указать этот каталог, но мы сохранили файл styles.css в той же папке, что и наш HTML-проект.

            Эта статья была посвящена только преимуществам и преимуществам CSS, но это только начало. Прежде чем вы сможете решить, как использовать CSS и воспользоваться его функциональностью и классами, вам необходимо знать синтаксис и правильный код стиля для вставки в свои проекты. CSS - интересный язык, особенно если вам нравится дизайн веб-сайтов и вы хотите сделать карьеру веб-дизайнера пользовательского интерфейса.

            Синтаксис CSS

            Теперь, когда вы понимаете преимущества CSS, пора погрузиться в синтаксис. В большинстве случаев вы не хотите создавать классы, которые изменяют все теги элементов. Вы хотите создать классы, которые определяют определенную часть веб-страницы, а затем использовать другие классы, которые влияют на другие части HTML. Обычно это означает создание нескольких классов для разных элементов. В этом разделе основное внимание уделяется селекторам, свойствам, значениям и различным базовым объявлениям CSS, необходимым для создания базовых классов и стилей CSS.

            Синтаксис CSS: объявления, свойства и значения

            Если у вас нет опыта программирования в веб-дизайне, CSS может быть немного неудобным при первом запуске. Синтаксис CSS отличается от HTML и любого внутреннего кода, такого как SQL, C # или PHP. Другими словами, изучение CSS отличается от изучения других языков. Единственное отношение к другим языкам - это то, что CSS работает с классами. Если вы помните из главы 1, вы создали стиль класса для абзаца или тега

            .Следующий CSS взят из урока 1.

            p {
            выравнивание текста: по центру;
            }

            Если вы помните, этот класс выравнивает содержимое по центру тега

            . Раздел в скобках - это объявление CSS. У вас может быть несколько объявлений, но каждое из них разделяется точкой с запятой. Например, следующий код CSS имеет два объявления.

            p {
            выравнивание текста: по центру;

            цвет: черный;
            }

            В приведенном выше классе CSS второе объявление указывает браузеру отображать черный текст.

            Объявления разделены на части, называемые свойствами и значениями. Возьмем второй класс CSS в приведенном выше примере. Первая часть декларации - это собственность. В объявлениях выше описаны два свойства. Двумя свойствами являются «выравнивание текста» и «цвет». Это свойства, потому что они определяют макеты, которыми вы можете управлять в теге HTML. После собственности идет стоимость. Два значения в приведенном выше коде CSS - «центр» и «черный». Значения определяют, что вы хотите делать со свойствами.В этом примере вы хотите «центрировать» текст и сделать шрифт черным. Вся структура CSS и то, как вы разрабатываете свои макеты, основаны на свойствах и значениях, которые определяют ваши объявления.

            Селектор CSS

            Первая часть понимания CSS - это селектор. Селектор CSS позволяет вам «выбирать» атрибут, конкретный тег, ссылку или любой другой элемент на странице HTML. Другими словами, селектор позволяет перейти к определенному тегу HTML, чтобы изменить его макет и внешний вид.CSS дает вам возможность создавать свои страницы и их разделы индивидуально.

            В арсенале CSS есть несколько селекторов. В приведенном выше примере CSS селектор - это часть "p" определения стиля класса. Этот конкретный селектор выбирает все элементы

            на HTML-странице независимо от имен элементов, классов или любого другого свойства HTML.

            В большей части дизайна CSS классы и макеты назначаются тегам HTML со свойствами идентификатора. Тег HTML, имеющий свойство ID, в основном определяет «имя» тега.Все теги на HTML-странице должны быть уникальными. Никакие два тега не могут иметь одинаковый идентификатор, поэтому вы знаете, что ваш класс CSS будет применяться только к одному тегу на странице. Следующий HTML-код является примером тега с идентификатором.

            Этот файл содержит мой первый HTML-код.

            В приведенном выше коде тегу абзаца присваивается идентификатор "myparagraph". Вы можете указать своему классу CSS применять только к определенному тегу с заданным идентификатором. В следующем коде показан класс CSS с селектором идентификатора.

            #myparagraph {
            выравнивание текста: по центру;

            цвет: черный;


            }

            Обратите внимание, что в селекторе сначала стоит символ решетки, а затем имя идентификатора. Приведенный выше код больше не применяется ко всем тегам

            . Вместо этого этот класс будет влиять только на HTML-тег с заданным идентификатором, которым в этом примере является «myparagraph».

            Что делать, если у вас есть один класс CSS абзаца, который вы хотите использовать с несколькими тегами

            , но не хотите влиять на все из них.Каждый идентификатор должен быть уникальным в пределах HTML-страницы, поэтому вы не можете использовать хэш-селектор. Альтернативой является использование селектора классов. Селектор класса позволяет вам определять класс для нескольких тегов. Вы также можете определить один класс, который может использоваться несколькими типами тегов. Следующий код является примером класса CSS, который можно использовать в любом месте страницы.

            .yellowbackground {
            цвет фона: желтый;
            }

            Приведенный выше код определяет класс с именем "yellowbackground".«Обратите внимание на точку или точку перед именем класса. Это не опечатка. Точка необходима для определения глобального класса для ваших HTML-страниц. Этот класс выделяет или окрашивает фон элемента желтым оттенком. Подумайте об этом класс в качестве маркера для текста вашей веб-страницы.

            После создания класса вы можете применить его к своим HTML-тегам. Следующий код использует указанный выше класс yellowbackground в теге div.

            Это содержимое имеет желтый фон.

            Поскольку вы не указали тег или элемент HTML для этого класса, вы также можете использовать определенный класс yellowbackground с другими элементами. Следующий HTML-код также будет использовать класс CSS.

            Это содержание имеет желтый фон.

            Пока определено свойство HTML класса, класс CSS будет действовать.

            Вы также можете ограничить теги, которые используют ваши классы, определив тег с вашим классом CSS.Предположим, вам нужен только тег

            для использования вашего класса yellowbackground. Вы можете префикс своего класса yellowbackground с помощью спецификатора класса

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

            .

            p.yellowbackground {
            цвет фона: желтый;
            }

            С указанным выше классом CSS вы можете использовать только выделенный желтым цветом класс с тегом абзаца. Теперь, если вы попытаетесь использовать его с тегом div, выбор не удастся.

            Вы можете выбрать несколько других значений селектора. Возможно, вы захотите применить класс CSS, который имеет определенный ввод или значение. Например, когда пользователь устанавливает флажок, возможно, вы захотите изменить шрифт на полужирный. Это заставляет значение флажка выделяться на странице, когда пользователь устанавливает флажок. Следующий класс CSS показывает, как это сделать.

            ввод: отмечен {
            font-weight: bold;
            }

            Разделитель двоеточие (:) указывает браузеру применять стили CSS к тегам HTML с указанным значением или вводом.В этом случае флажок установлен. Объявление в классе CSS указывает браузеру изменить шрифт на полужирный. Свойство имеет "font-weight", а значение - "bold".

            Вы также можете использовать селекторы для значения определенного свойства. Например, предположим, что вы хотите установить желтый фон для всех ссылок с заголовком «Желтые цветы». Вы можете сделать это с помощью селектора CSS, который определяет заголовок и значение «Желтые цветы». Следующий селектор CSS показывает, как это сделать.

            a [title ~ = Желтые цветы] {
            цвет фона: желтый;
            }

            Ваш HTML-тег ссылки будет выглядеть следующим образом.

            Щелкните здесь, чтобы увидеть желтые цветы.

            Вы можете использовать этот селектор с любым атрибутом HTML и соответствующим значением для изменения макета. Обратите внимание, что значение не совсем равно «Желтые цветы». "~ =" Указывает браузеру изменить макет CSS, если какая-либо часть значения содержит этот конкретный текст.Однако вы можете ограничить текст только точным значением. Для этого вы убираете символ ~. В следующем коде CSS атрибут title должен иметь точное значение без дополнительных символов.

            a [title = Желтые цветы] {
            цвет фона: желтый;
            }

            В приведенном выше примере содержимое атрибута title должно быть точным. Следовательно, HTML-код, размещенный выше, не будет работать с этим кодом CSS. Однако следующий код будет работать с классом CSS.

            Щелкните здесь, чтобы увидеть желтые цветы.

            Иногда вам нужно применить стили CSS ко всей странице. Указание каждого тега HTML было бы утомительным, поэтому CSS дает вам символ звездочки в качестве подстановочного знака. Используя звездочку, вы можете указать CSS и браузеру применить стиль ко всей странице элементов. Например, следующий код изменяет цвет шрифта на черный для всей HTML-страницы.

            * {
            цвет: черный;
            }

            Селектор CSS имеет еще несколько способов выбора тегов HTML, но перечисленные выше являются наиболее распространенными.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *