


Découvrez ces deux questions d'entretien CSS pour tester vos fondations !

<div> <p id="a">First Paragraph</p> </div>
p#a { color: green; } div::first-line { color: blue; }
<p>. ;
La couleur est-elle verte ou bleue ? <p>
内的文字的颜色,是 green 还是 blue 呢?<p>有趣的是,这里的最终结果是蓝色,也就是 color: blue
生效了。【推荐学习:css视频教程】<p>
<p>
元素上,只看到了 color: green
生效,没找到 div::first-line
的样式定义:<p>
<div>
的样式规则,才能在最下面看到这样一条规则:<p>
<p>
标签继承了父元素 <div>
的这条规则,并且作用到了自身第一行元素之上,覆盖了原本的 ID 选择器内定义的 color: green
。再进行验证
<p>这里,另外一个比较迷惑的点在于,为什么 ID 选择器的优先级比::first-line
选择器更低。<p>我们再做一些简单的尝试:<p>下面的 DEMO 展示了 ::first-line
样式和各种选择器共同作用时的优先级对比,甚至包括了 !important
规则:- 第 1 段通过标签选择器设置为灰色
- 第 2 段通过类选择器设置为灰色
- 第 3 段通过 ID 选择器设置为灰色
- 第 4 段通过 !important bash 设置为灰色
::first-line
选择器。<h2 id="first-line-nbsp-vs-nbsp-tag-nbsp-selector">::first-line vs. tag selector</h2> <p>This paragraph ...</p> <h2 id="first-line-nbsp-vs-nbsp-class-nbsp-selector">::first-line vs class selector</h2> <p class="p2">This paragraph color i...</p> <h2 id="first-line-nbsp-vs-nbsp-ID-nbsp-selector">::first-line vs ID selector</h2> <p id="p3">This paragraph color is set ...</p> <h2 id="first-line-nbsp-vs-nbsp-important">::first-line vs !important</h2> <p id="p4">This paragraph color is ....</p>
p { color: #444; } p::first-line { color: deepskyblue; } .p2 { color: #444; } .p2::first-line { color: tomato; } #p3 { color: #444; } #p3::first-line { color: firebrick; } #p4 { color: #444 !important; } #p4::first-line { color: hotpink; }
<p>CodePen Demo -- ::first-line: demo<p>https://codepen.io/KittyGiraudel/pen/kWobaa/569e082a67400f5fb39a96030d0e9b6c<p>看看效果:<p>

::first-line
高。<p>究其原因,在于,::first-line
其实是个伪元素而不是一个伪类,被其选中的内容其实会被当成元素的子元素进行处理,类似于 ::before
,::after
一样,因此,对于父元素的 color 规则,对于它而言只是一种级联关系,通过 ::first-line
本身定义的规则,优先级会更高!<p>这也是为什么,在 MDN 文档中,更推荐的是双冒号的写法(当然浏览器都支持单冒号的写法)-- MDN -- ::first-line<p>
再来一题,MDN 的错误例子?一个有意思的现象
<p>说完上面这题。我们再来看看一题,非常类似的题目。<p>在 MDN 介绍:not
的页面,有这样一个例子:/* Selects any element that is NOT a paragraph */ :not(p) { color: blue; }
:not(p)
可以选择任何不是 <p>
标签的元素。然而,上面的 CSS 选择器,在如下的 HTML 结构,实测的结果不太对劲。<p>p</p> <div>div</div> <span>span</span> <h1 id="h">h1</h1>

<p>CodePen Demo -- :not pesudo demo<p>https://codepen.io/Chokcoco/pen/KKZbWjy<p>意思是,
:not(p)
仍然可以选中 <p>
元素。是的,在多个浏览器,得到的效果都是一致的。<p>看到这里,你可以再停一下,思考一下,为什么 <p>
元素的颜色仍旧是 color: blue
Fait intéressant, le résultat final ici est bleu, ce qui signifie que color: blue
prend effet. [Apprentissage recommandé : tutoriel vidéo CSS]<p>
<p>
et avons seulement vu que color: green
était en vigueur, mais nous n'avons pas trouvé div::first- Définition du style de la ligne
: 🎜🎜
<div>
que nous pouvons voir une telle règle en bas : 🎜🎜 
<p>
hérite de cette règle de l'élément parent <div>
et l'applique à la première ligne d'éléments, remplaçant l'original Sélecteur d'ID couleur : vert
défini à l'intérieur. 🎜Vérifiez à nouveau
🎜Ici, un autre point déroutant est la raison pour laquelle le sélecteur d'ID a une priorité plus élevée que::first -line</ Le sélecteur code> est plus bas. 🎜🎜Faisons quelques tentatives simples : 🎜🎜La DÉMO suivante montre la comparaison prioritaire du style <code>::first-line
lorsque vous travaillez avec différents sélecteurs, y compris même les règles importantes
! : 🎜- Le paragraphe 1 est mis en gris via le sélecteur de balises
- Le paragraphe 2 est mis en gris via le sélecteur de classe
- Paragraphe 3 Le paragraphe est mis en gris via le sélecteur d'ID
- Le 4ème paragraphe est mis en gris via !important bash
pour chaque paragraphe en même temps : :first- sélecteur de ligne
. 🎜/* Selects any element that is NOT a paragraph */ :not(p) { border: 1px solid; }
🎜CodePen Demo -- ::first-line: demo🎜🎜https://codepen.io/KittyGiraudel/pen/kWobaa/569e082a67400f5fb39a96030d0e9b6c🎜🎜Regardez l'effet : 🎜 🎜

::first-line
. 🎜🎜La raison est que ::first-line
est en fait un pseudo-élément plutôt qu'une pseudo-classe, et le contenu sélectionné par celui-ci sera en fait traité comme un élément enfant du élément, similaire à C'est la même chose que ::before
et ::after
Par conséquent, la règle de couleur de l'élément parent n'est qu'une relation en cascade pour celui-ci, via <. code>:: Les règles définies par first-line lui-même auront une priorité plus élevée ! 🎜🎜C'est pourquoi, dans le document MDN, la méthode d'écriture à deux points est plus recommandée (bien sûr, les navigateurs prennent en charge la méthode d'écriture à deux points) -- MDN -- ::first-line🎜🎜 < img title="1664365270903088.png" alt="Découvrez ces deux questions dentretien CSS pour tester vos fondations !"/>🎜Encore une question, quels sont quelques exemples d'erreurs MDN ? Un phénomène intéressant
🎜Terminez la question ci-dessus. Regardons une autre question, une question très similaire. 🎜🎜Sur la page MDN présentant:not
, il y a un exemple : 🎜rrreee🎜Cela signifie que :not(p)
peut sélectionner tout ce qui n'est pas < ;p> ;
élément de balise. Cependant, les résultats réels du sélecteur CSS ci-dessus dans la structure HTML suivante ne sont pas tout à fait corrects. 🎜rrreee🎜Les résultats sont les suivants : 🎜🎜🎜Démo CodePen -- :pas de démo pesudo🎜🎜https://codepen.io/Chokcoco/pen/KKZbWjy🎜🎜signifie,
:not(p) code> L'élément <p>
peut toujours être sélectionné. Oui, les résultats sont les mêmes sur plusieurs navigateurs. 🎜🎜Quand vous voyez cela, vous pouvez vous arrêter et y réfléchir, pourquoi la couleur de l'élément <p>
est-elle toujours color: blue
? 🎜🎜Pourquoi est-ce ? Réponse : 🎜<p>这是由于 :not(p)
同样能够选中 <body>
,那么 <body>
的 color 即变成了 blue
,由于 color
是一个可继承属性,<p>
标签继承了 <body>
的 color 属性,导致看到的 <p>
也是蓝色。<p>我们把它改成一个不可继承的属性,试试看:/* Selects any element that is NOT a paragraph */
:not(p) {
border: 1px solid;
}
Copier après la connexionCopier après la connexion<p>
<p>OK,这次 <p>
没有边框体现,没有问题!
<p>因此,实际使用的时候,需要一定要注意样式继承的问题!
<p>(学习视频分享:css视频教程、web前端)Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

HTML définit la structure Web, CSS est responsable du style et de la mise en page, et JavaScript donne une interaction dynamique. Les trois exercent leurs fonctions dans le développement Web et construisent conjointement un site Web coloré.

L'utilisation de bootstrap dans vue.js est divisée en cinq étapes: installer bootstrap. Importer un bootstrap dans main.js. Utilisez le composant bootstrap directement dans le modèle. Facultatif: style personnalisé. Facultatif: utilisez des plug-ins.

Il existe deux façons de créer une ligne divisée bootstrap: en utilisant la balise, qui crée une ligne divisée horizontale. Utilisez la propriété CSS Border pour créer des lignes de fractionnement de style personnalisées.

Pour ajuster la taille des éléments dans Bootstrap, vous pouvez utiliser la classe de dimension, qui comprend: ajuster la largeur: .col-, .w-, .mw-ajustement Hauteur: .h-, .min-h-, .max-h-

Pour configurer le framework Bootstrap, vous devez suivre ces étapes: 1. Référez le fichier bootstrap via CDN; 2. Téléchargez et hébergez le fichier sur votre propre serveur; 3. Incluez le fichier bootstrap dans HTML; 4. Compiler les sass / moins au besoin; 5. Importer un fichier personnalisé (facultatif). Une fois la configuration terminée, vous pouvez utiliser les systèmes, composants et styles de grille de Bootstrap pour créer des sites Web et des applications réactifs.

Il existe plusieurs façons d'insérer des images dans Bootstrap: insérer directement les images, en utilisant la balise HTML IMG. Avec le composant d'image bootstrap, vous pouvez fournir des images réactives et plus de styles. Définissez la taille de l'image, utilisez la classe IMG-FLUID pour rendre l'image adaptable. Réglez la bordure en utilisant la classe IMG-border. Réglez les coins arrondis et utilisez la classe Roundée IMG. Réglez l'ombre, utilisez la classe Shadow. Redimensionner et positionner l'image, en utilisant le style CSS. À l'aide de l'image d'arrière-plan, utilisez la propriété CSS d'image d'arrière-plan.

Comment utiliser le bouton bootstrap? Introduisez Bootstrap CSS pour créer des éléments de bouton et ajoutez la classe de bouton bootstrap pour ajouter du texte du bouton

WebDevelopmentReliesOnHTML, CSS, etjavascript: 1) HTMLSTRUCTURESCONTENT, 2) CSSSTYLESIT, et3) JavascriptAdddsInterActivity, Forming TheasisofmodernweBEBExperiences.
