48 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			48 lines
		
	
	
		
			5.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | |||
|  | title: Selectors | |||
|  | localeTitle: Селекторы | |||
|  | --- | |||
|  | # Селекторы
 | |||
|  | 
 | |||
|  | Селекторы - это правила CSS для таргетинга на HTML-элементы для применения стилей. Имена тегов, имена классов, идентификаторы и атрибуты - это некоторые из перехватчиков, используемых в качестве селекторов. | |||
|  | 
 | |||
|  | ## Синтаксис селектора
 | |||
|  | 
 | |||
|  | Селекторы, расположенные в определенной последовательности, будут создавать правило для целевых элементов. Пример, | |||
|  | 
 | |||
|  | ```css | |||
|  | /* selects anchor tags */  | |||
|  |  a {  | |||
|  |     color: orange;  | |||
|  |  }  | |||
|  |   | |||
|  |  /* selects elements with hero class */  | |||
|  |  .hero {  | |||
|  |     text-align: center;  | |||
|  |  }  | |||
|  | ``` | |||
|  | 
 | |||
|  | ## Тип переключателей
 | |||
|  | 
 | |||
|  | Тип | Описание ------- | ------------ Селекторы типов | Имена тегов используются для выбора таких элементов, как `h1` или `a` . Универсальный селектор | Селектор, который применяется ко всем элементам. `div *` соответствует всем элементам в элементах div. Селектор атрибутов | Селекторы, которые нацеливают элементы на основе их атрибутов \[и, необязательно, их значений\]. `h1[title]` выбирает элементы `h1` с атрибутом `title` . Селектор классов | Селектор, который предназначен для элементов, используя их имена классов. ID Selector | Селектор, который использует идентификатор для целевых элементов. `#logo` выбирает элемент с `logo` качестве идентификатора. Селектор псевдокласса | Специальные селекторы, которые нацелены на элементы, основанные на их состоянии. `a:hover` селектор `a:hover` применяет стиль, когда указатель наводится на ссылки. | |||
|  | 
 | |||
|  | ## Комбинаторы селектора
 | |||
|  | 
 | |||
|  | Комбинатор | Цель ----------- | ------------ `white space` | Комбинатор потомков. `.nav li` выбирает все `li` - `.nav` в классе `.nav` , включая вложенные элементы `li` . `>` | Детский комбинатор. `.menu > li` выбирает все li, которые являются прямыми `.menu` элементами элементов с классом `.menu` . `+` | Смежный комбинатор. `.logo + h1` целей `h1` , что является непосредственным родственным к `.logo` класса. `~` | Общий сборщик. `header ~ div` target `div` элементы, которые являются братьями и сестрами для элементов `header` . | |||
|  | 
 | |||
|  | В этом разделе описываются все эти избиратели. | |||
|  | 
 | |||
|  | #### Дополнительная информация:
 | |||
|  | 
 | |||
|  | Вы можете узнать больше о селекторах на этих ресурсах: | |||
|  | 
 | |||
|  | *   [Официальная спецификация CSS3](https://www.w3.org/TR/css3-selectors) | |||
|  | *   [Селекторная страница в Mozilla Developer Network](https://developer.mozilla.org/en-US/docs/Learn/CSS/Introduction_to_CSS/Selectors) | |||
|  | *   [CSS-селектор Cheat Sheet на FreeCodeCamp](https://guide.freecodecamp.org/css/tutorials/css-selectors-cheat-sheet) | |||
|  | 
 | |||
|  | Селекторы в CSS (каскадные таблицы стилей) определяются на основе _специфики_ , с этим мы можем быть более конкретными в наших правилах стиля и переопределять другие правила, которые могут быть нацелены на один и тот же элемент, но не являются конкретными. Способ работы этой иерархии конкретных оснований зависит от веса, то есть элемент Селектор имеет вес 1 (один), селектор класса имеет вес 10 (десять), а селектор id имеет вес Сто (100). Мы можем комбинировать разные селекторы вместе, более конкретно, от элемента, который мы хотим изменить. | |||
|  | 
 | |||
|  | В качестве примера: | |||
|  | 
 | |||
|  | `css p { color: blue; } p .red { color: red; }` Наш селектор типов p выберет все элементы p в нашем html-документе, но он будет иметь только один вес. напротив, селектор классов имеет вес 11 по той причине, что мы объединяем селектор типов с селектором классов (этот селектор сопоставляет все элементы p с классом красного). - \* Прямо целевые правила всегда будут иметь приоритет над правилами, которые наследуют элементы от своего предка. - \* Спецификация применяется только тогда, когда несколько объявлений нацелены на один и тот же элемент, только тогда это правило применяется.   | |||
|  | \- \* Спецификация, как правило, почему некоторые из правил стиля не применяются к элементам, если вы ожидаете их. |