Tutoriel CSS - Sélecteurs CSS adjacents. Sélecteurs adjacents Quelles balises sont adjacentes dans ce code ?
La syntaxe CSS est simple et vous n'avez pas besoin d'un doctorat en informatique pour la comprendre. Cependant, c’est l’une des rares langues populaires qui n’est pas logique au vrai sens du terme. Contrairement à d'autres langages de programmation Web tels que JavaScript et PHP, CSS ne résout pas les problèmes en utilisant la logique conventionnelle. Des algorithmes tels que « si X, alors faites Y, sinon faites Z » ou « sélectionnez tous les Y, puis faites X avec eux » ne peuvent pas être implémentés dans un langage comme CSS. En termes simples, c'est un langage conçu pour le design, un langage pour les concepteurs et non pour les développeurs. C'est précisément pour cette raison que certains des programmeurs expérimentés avec lesquels j'ai travaillé ont consacré beaucoup d'efforts à apprendre à maîtriser le CSS.
L'apprentissage du CSS commence par les classes et les identifiants, ainsi que par leur utilisation. et # pour désigner directement des éléments. Cela suffit pour créer un site Web entièrement fonctionnel, mais ce n’est pas une solution suffisamment flexible en cas de changement complet de conception. Jetons un coup d'œil à une approche alternative pour gérer ces éléments difficiles à atteindre.
Combinateur associé voisin
Commençons par un sélecteur pratique dans les situations complexes : le combinateur associé adjacent. Un combinateur associé adjacent est indiqué en connectant deux éléments à l'aide du signe + :H1+p
Ceci sélectionne l'élément p suivant situé immédiatement après l'élément h1 dans le DOM. La théorie typographique suggère que nous devrions utiliser des retraits dans les paragraphes du texte, mais seulement s'ils suivent un autre paragraphe. En pratique, cela peut être utilisé pour mettre en retrait tous les paragraphes sauf le premier :
p + p ( retrait du texte : 1em ; )
C'est beaucoup plus pratique que de surligner le premier paragraphe en utilisant class="first". Trois lignes, pas de classes et prise en charge complète du navigateur. Si vous placez des balises img liées au contenu du site à l'intérieur des balises p (comme vous devriez en fait le faire), vous pouvez simplement reculer leurs marges de gauche en utilisant une valeur négative de -1em :
p + p img ( marge gauche : -1em ; )
Assez simple, non ? Que se passe-t-il si nous voulons sélectionner la première ligne de tous les paragraphes qui viennent immédiatement après les titres, sans modifier tous les autres paragraphes ? Encore une fois, nous pouvons utiliser la classe view. Un simple sélecteur constitué d'un combinateur composé adjacent et d'un pseudo-élément fera l'affaire :
h1 + p::première ligne ( font-variant: small-caps; )
Remarque : Le pseudo-element:first-line a été adopté dans CSS 2.1, mais CSS 3 utilise la notation :: pour faire la distinction entre les pseudo-classes et les pseudo-éléments.
Combinateur héréditaire
Un protocole de balisage courant consiste à placer des sections dans un élément nommé dans #page ou #wrap :Description
Les éléments d'une page Web sont dits adjacents lorsqu'ils se succèdent immédiatement dans le code du document.
Syntaxe
E + F (Description des règles de style)
Pour contrôler le style des éléments adjacents, utilisez le symbole plus (+), placé entre les deux sélecteurs E et F. Les espaces autour du plus sont facultatifs. Ce style est appliqué à l'élément F, mais uniquement s'il est adjacent à l'élément E et le suit immédiatement. Regardons quelques exemples.
Lorem ipsum douleur asseyez-vous à temps.
Étiqueter est un enfant du tag
Parce que c'est à l'intérieur de ce conteneur. Respectivement
Agit en tant que parent .
Lorem ipsum douleur s'asseoir amet.
Balises Et ne se chevauchent en aucune façon et représentent des éléments adjacents. Le fait qu'ils soient situés à l'intérieur du conteneur Cela n'affecte pas leur attitude. Lorem ipsum douleur assis amet, consectetuer adipeux élite.
Les balises voisines sont ici Et , et aussi Et . En même temps Et les éléments adjacents ne sont pas traités car il y a un conteneur entre eux .
HTML5 CSS 2.1 IE Cr Op Sa Fx
Lorem ipsum douleur assis amet, consectetuerélite adipeuse.
Lorem ipsum dolor assis amet, consectetuerélite adipeuse.
Le résultat de cet exemple est présenté sur la Fig. 1.
Riz. 1. Couleur du texte rouge pour les sélecteurs adjacents
Navigateurs
Internet Explorer 7 n'applique pas le style s'il y a un commentaire entre les sélecteurs (B + /* plus */ I ).
Bonsoir chers collègues, aujourd'hui nous étudierons deux autres sélecteur qui sont appelés sélecteurs CSS enfants et adjacents. Dans une plus large mesure, vous pouvez vous en passer, cependant, pour votre développement vous devez les apprendre et parfois les appliquer pour qu'ils restent dans votre mémoire. Par conséquent, discutons de ce que sélecteurs sont voisins, et lesquels sont des enfants et nous les analyserons à l'aide d'un exemple.
Sélecteurs CSS enfants- les éléments situés à l'intérieur de l'élément parent. Un exemple de ceci pourrait être le suivant.
Nous avons un bloc contenant un paragraphe, un autre bloc et une image. Ces trois éléments sont les enfants. S'il y a également d'autres éléments dans un bloc enfant, alors ils ne sont plus des enfants du premier bloc, mais sont des enfants du bloc dans lequel ils se trouvent directement. J'espère que vous comprenez. Sélecteurs CSS adjacents - des éléments situés les uns après les autres dans le code du document. Un exemple de ceci est ceci. Nous avons un paragraphe et une balise suivante portée
. Tout est très clair et il suffit de regarder tout cela à l’aide d’exemples réels.
Texte dans le paragraphe
Texte en span
Il n'y a plus de texte enfant dans le paragraphe - des éléments situés les uns après les autres dans le code du document. Un exemple de ceci est ceci. Nous avons un paragraphe et une balise suivante
En utilisant les styles, nous ajouterons le même résultat pour la balise Division
>envergure (
}
taille de police : 200 % ; p
+envergure(
}
couleur : rouge ; - des éléments situés les uns après les autres dans le code du document. Un exemple de ceci est ceci. Nous avons un paragraphe et une balise suivante Le résultat de l'exécution du code dans les deux cas sera appliqué à la balise , car c'est un enfant de la balise div et ensuite après le tag p . Par conséquent, la police est devenue deux fois plus grande et rouge. Maintenant, nous avons complètement réglé sélecteurs d'enfants et de voisins en CSS
, et il ne vous reste plus qu'à renforcer vos connaissances par la pratique, à bientôt !
Salutations, chers lecteurs. Dans les articles précédents, nous avons étudié principalement les attributs de style CSS. Il y en a beaucoup. Certains définissent les paramètres de police, d'autres les paramètres d'arrière-plan et d'autres encore les paramètres de retrait et de cadres.
Dans cet article, nous parlerons des sélecteurs de style. Dans l'un des articles que nous avons déjà évoqués. Aujourd'hui, nous examinerons plusieurs autres types de sélecteurs qui ne lient pas explicitement une règle de style à un élément de page Web. Ce sont ce qu'on appelle des sélecteurs spéciaux. Il en existe plusieurs types.
Combinateurs en CSS (sélecteurs adjacents, enfants et contexte) Combinateurs
sont un type de sélecteur CSS qui lient une règle de style à un élément de page Web en fonction de son emplacement par rapport aux autres éléments. Premier symbole combinateur plus (+) ou sélecteur adjacent
<селектор 1> + <селектор 2> { <стиль> }
. Plus est défini entre deux sélecteurs : Le style dans ce cas est appliqué à sélecteur 2 , mais seulement s'il est adjacent à sélecteur 1
et vient juste après. Regardons un exemple :
}
...
fort + je ( C'est un texte normal. C'est du texte en gras , texte brut,
fort + je ( C'est un texte normal. C'est du texte en gras texte rouge.
et c'est un texte normal
Résultat: Le style décrit dans l'exemple sera appliqué uniquement au premier texte inclus dans la balise .
, parce que ça vient immédiatement après le tag Combinateur(~) s'applique également aux sélecteurs adjacents, mais cette fois il peut y avoir d'autres éléments entre eux. Dans ce cas, les deux sélecteurs doivent être imbriqués dans la même balise parent :
<селектор 1> ~ <селектор 2> { <стиль> }
Le style sera appliqué à Le style dans ce cas est appliqué à qui devrait suivre sélecteur 1. Prenons un exemple :
fort ~ je (
couleur : rouge ; /* Couleur du texte rouge */
}
...
fort + je ( C'est un texte normal. C'est du texte en gras , texte brut, la règle de sélection adjacente qui lui est appliquée.
fort + je ( C'est un texte normal. C'est du texte en gras et voici le texte rouge.
et c'est un texte normal
Comme vous pouvez le constater, cette fois la règle de style a fonctionné pour les deux textes inclus dans la balise , malgré le fait que dans le deuxième cas entre la balise Et ça vaut le coup .
, parce que ça vient immédiatement après le tag > fait référence à sélecteurs d'enfants. Vous permet de lier le style CSS à un élément de page Web directement imbriqué dans un autre élément :
<селектор 1> > <селектор 2> { <стиль> }
Style sera lié à Le style dans ce cas est appliqué à, qui est directement imbriqué dans sélecteur 1.
div > fort (
}
...
fort + je ( Et c'est du texte en gras normal.
Et le résultat :
Comme vous pouvez le voir sur la figure, la règle de style n'a affecté que la première balise
, qui est directement imbriqué dans la balise
, donc la règle ne s'applique pas à lui. Ensuite, nous examinerons sélecteur de contexte<пробел>
. Il vous permet de lier un style CSS à un élément imbriqué dans un autre élément, et il peut y avoir n'importe quel niveau d'imbrication : <селектор 1> <селектор 2> { <стиль> } Le style sera appliqué à Le style dans ce cas est appliqué à, s'il est imbriqué d'une manière ou d'une autre dans sélecteur 1. Regardons l'exemple précédent, uniquement pour décrire une règle CSS, nous utilisons le sélecteur de contexte : div fort( fort + je ( Et c'est aussi du texte en italique et en gras. Texte brut et juste du texte en gras et c'est un texte normal Comme vous pouvez le constater, cette fois la règle a affecté les deux balises
, même celui qui est imbriqué dans le conteneur
. Pour taguer
, qui est simplement imbriqué dans un paragraphe
La règle CSS ne fonctionne pas du tout. Les sélecteurs d'attribut sont des sélecteurs spéciaux qui lient un style à un élément selon qu'il contient un certain attribut ou a une certaine valeur. Il existe plusieurs options pour utiliser de tels sélecteurs. On dirait : <селектор>[<имя атрибута тега>] { <стиль> } Et lie le style aux éléments dans lesquels l'attribut spécifié est ajouté. Par exemple: fort( Automobile c'est un moteur mécanique sans rail véhicule routier avec au moins 4 roues. et c'est un texte normal Sur l'image, vous pouvez voir que la règle CSS (couleur du texte rouge) est appliquée à l'élément fort, auquel l'attribut est ajouté titre. La syntaxe de ce sélecteur est la suivante : <селектор>[<имя атрибута тега>=<значение>] { <стиль> } Lie style aux éléments dont les balises ont un attribut avec le spécifié nom Et signification. Exemple: un( et c'est un texte normal Comme vous pouvez le constater, les deux éléments de type lien hypertexte ont l'attribut cible, mais la règle CSS qui agrandit le texte du lien d'une fois et demie et change sa couleur en rouge est appliquée à la balise
dont l'attribut cible importe "_vide". Certaines valeurs d'attribut peuvent être séparées par des espaces, comme les noms de classe. Pour définir une règle de style lorsque la valeur requise est présente dans la liste des valeurs d'attribut, utilisez le sélecteur suivant : [<имя атрибута тега>~=<значение>] { <стиль> } Le style est appliqué si l'attribut a la valeur requise ou fait partie d'une liste de valeurs séparées par des espaces. Par exemple: { Notre téléphone : 777-77-77 Notre adresse : Rue de Moscou. Sovetskaïa 5 Vous obtiendrez le résultat suivant : La règle s'applique à un élément dont les valeurs d'attribut incluent : classe il y a un sens tél.. Un trait d’union est autorisé dans les valeurs d’identifiant et de classe. Pour lier un style à des éléments dont les valeurs d'attribut peuvent contenir un trait d'union, vous pouvez utiliser la construction suivante : [attribut|="valeur"] ( style ) Le style est appliqué aux éléments dont la valeur d'attribut commence par la valeur spécifiée suivie d'un trait d'union. Par exemple: { et c'est un texte normal Dans l'exemple, la règle de style s'applique uniquement aux éléments de liste dont le nom de classe commence par valeur "menu- ". Ce sélecteur définit le style d'un élément si la valeur de l'attribut de balise commence par une valeur spécifique. Il peut y avoir deux options : [<имя атрибута тега>^=<подстрока>] { <стиль> } Dans le premier cas style s'applique à tous les éléments dont les balises ont un attribut avec le spécifié nom et une valeur commençant par le spécifié sous-chaînes. Dans le deuxième cas, la même chose, seulement pour certains éléments précisés dans sélecteur principal. Exemple: un( et c'est un texte normal L'exemple montre comment afficher différemment les liens externes et les liens internes. Les liens externes commencent toujours par la chaîne « http:// ». Par conséquent, dans le sélecteur, nous indiquons que le style sera appliqué uniquement aux liens qui ont l'attribut href commence par un sens http://. Lie un style aux éléments dont la valeur d'attribut se termine par le texte spécifié. A la syntaxe suivante : [<имя атрибута тега>$=<подстрока>] { <стиль> } Dans le premier cas style s'applique à tous les éléments qui ont attribut avec le spécifié nom et a une signification se terminant par le spécifié sous-chaîne. Dans le deuxième cas, la même chose, uniquement à l'endroit indiqué sélecteurs. De cette manière, par exemple, différents formats d'images graphiques peuvent être affichés différemment. Par exemple: IMG ( Image GIF Format d'image png et c'est un texte normal Dans l'exemple, toutes les images avec une extension GIF seront affichées avec une bordure rouge de cinq pixels d'épaisseur. Ce sélecteur lie un style aux balises dont la valeur d'attribut contient un texte spécifique. Syntaxe: [<имя атрибута тега>*=<подстрока>] { <стиль> } Style se lie aux éléments qui ont attribut avec le nom spécifié et sa valeur contient le spécifié sous-chaîne. Par exemple: IMG ( Image du dossier galerie Image d'un autre dossier et c'est un texte normal Dans l'exemple, le style est appliqué aux images chargées à partir du dossier "galerie". Tout dépend des sélecteurs d'attributs. Toutes les méthodes ci-dessus peuvent être combinées entre elles : Sélecteur[attribute1="valeur1"][attribute2="valeur2"] ( style ) De plus, permettez-moi de vous rappeler les sélecteurs CSS spéciaux : Dans les prochains articles, nous examinerons également les pseudo-éléments et les pseudo-classes, qui fournissent de puissants outils de gestion de style. C'est tout, à bientôt.
style de police : italique /* Italique */
}
...
Sélecteurs par attributs de balise
1. Sélecteur d'attribut simple
couleur : rouge ;
}
...
2. Sélecteur d'attribut avec valeur
couleur : rouge ;
taille de police : 150 % ;
}
...
.ru" target="_blank">Lien dans une nouvelle fenêtre3. Une valeur d'attribut parmi plusieurs
<основной селектор>[<имя атрибута тега>~=<значение>] { <стиль> }
couleur : rouge ;
taille de police : 150 % ;
}
...
4. Trait d'union dans la valeur de l'attribut
Sélecteur[attribut|="valeur"] ( style )
couleur : rouge ;
taille de police : 150 % ;
}
...
5. La valeur de l'attribut commence par un texte spécifique
<основной селектор>[<имя атрибута тега>^=<подстрока>] { <стиль> }
couleur : vert ;
poids de la police : gras ;
}
...
6. La valeur de l'attribut se termine par un certain texte
<основной селектор>[<имя атрибута тега>$=<подстрока>] { <стиль> }
bordure : 5px rouge uni ;
}
...
7. La valeur de l'attribut contient la chaîne spécifiée
<основной селектор>[<имя атрибута тега>*=<подстрока>] { <стиль> }
bordure : 5px rouge uni ;
}
...