目次
二、CSS权重
三、CSS3新增属性
ホームページ ウェブフロントエンド htmlチュートリアル まだ知らない CSS に関する知識ポイント_html/css_WEB-ITnose

まだ知らない CSS に関する知識ポイント_html/css_WEB-ITnose

Jun 24, 2016 am 11:35 AM

1, 特殊セレクター

1, * 任意のタグと一致するために使用されます

2, > 親子ノード関係を指定するために使用されます

3, E + F 隣接要素の選択コンテナー、すべての兄弟要素と一致します F

4、E ~ F すべての兄弟要素 F

5、name [式]

5.1 E [att] は att 属性を持つすべての E 要素と一致します ([att ] att を定義するすべてのタグを取得します。 E[att=val] は、「val」に等しい att 属性を持つすべての E 要素と一致します。 [att= val] att 属性と属性値を定義するすべてのタグを取得します。は val に等しいです。

5.3 [att^=val] att 属性が定義され、属性値が val で始まるすべてのタグを取得します。 att 属性が定義されており、属性値は val で終わります。

5.5 [att*=val] att 属性が定義され、属性値に val 文字が含まれるすべてのタグを取得します。 ~=val] att 属性が定義され、属性値に val という単語が含まれるすべてのタグを取得します。

5.7 [att|=val] att 属性が定義され、属性値が等しいすべてのタグを取得します。 val または val- で始まります)

6. 疑似クラス/疑似要素

6.1 css 疑似クラスは、特定のセレクターに特殊効果を追加するために使用されます。 CSS 擬似要素は、特定のセレクターに特殊効果を追加するために使用されます。

2 つの点を明確にできます。1 つ目は、両方ともセレクターに関連しているということ、2 つ目は、いくつかの「特別な」効果を追加するということです。ここでの特別な点は、この 2 つの CSS が他の CSS では記述できないものを記述していることです。 擬似クラス型と擬似要素型の違い

ここでは比較のために擬似クラス:first-childと擬似要素:first-letterを使用します。

p>i:first-child {color: red}<p><i>first</i><i>second</i></p> //伪类 :first-child 添加样式到第一个子元素
ログイン後にコピー

疑似クラスを使用しないが、上記の効果を実現したい場合は、次のようにすることができます:

.first-child {color: red}<p><i class="first-child">first</i><i>second</i></p>
ログイン後にコピー

つまり、最初の子要素にクラスを追加し、スタイルを定義します。このクラスの。それでは、要素を見てみましょう:

:p:first-letter {color: red}<p>i am stephen lee.</p> //伪元素 :first-letter 添加样式到第一个字母
ログイン後にコピー

それでは、疑似要素を使用しない場合、上記の効果を達成するにはどうすればよいでしょうか?

.first-letter {color: red}<br /><p><span class='first-letter'>i</span> am stephen lee.</p>
ログイン後にコピー

つまり、最初の文字にスパンを追加し、そのスパンにスタイルを追加します。

両者の違いが出てきました。つまり、

疑似クラスの効果は実際のクラスを追加することで実現できますが、疑似要素の効果は実際の要素を追加することで実現する必要があるため、そのうちの 1 つは疑似クラスと呼ばれます。もう 1 つは、疑似要素の理由と呼ばれます。

まとめ:

擬似要素と擬似クラスが混同されやすいのは、効果が似ていて書き方が似ているからですが、実は両者を区別するためにCSS3では擬似と明確に規定しています。クラスはコロンで表され、擬似クラス要素は 2 つのコロンで表されます。

:pseudo-classes::pseudo-elements ただし、互換性の問題により、それらのほとんどは依然として単一のコロンで統一されています。ただし、互換性の問題に関係なく、記述するときは良い習慣を身につけて区別するように最善を尽くす必要があります。二人で。

簡単に言うと、疑似要素の重みは疑似クラスの重みよりも高くなります。たとえば、コンテナが要素と疑似クラスの両方に同じ属性を定義しているが、値が異なる場合、擬似要素が使用されます。 規範的な観点から見ると、疑似要素はページ上で 1 回のみ使用されますが、疑似クラスは複数回使用できます。疑似要素は新しいオブジェクトを生成します。これは dom 内で見ることはできませんが、操作することができます。疑似クラスは dom 内の要素のさまざまな状態です。 ,a: link,a:active,a:visited,:focus,:blur /*動的擬似クラス*/

6.1.2 :disabled,:enabled,:checked,:read-only,:read- write /*UI Status pseudo-class*/

6.1.2.1

: ステータスの読み取り専用

6.1.2.2

: 読み取り/書き込み非読み取り専用ステータス

6.1.3 css3 pseudo -class

6.1.3.1 :nth-child(n) 親要素の n 番目の要素 (例: p:nth-child(2){color:red;} p 要素が親要素、フォントの色は赤)

6.1.3.2 nth-last-child(n) 親要素の下からn番目の要素

6.1.3.3 :nth-of-type(n ) (例: p:nth-of-type (2){color:red;} p 要素がその親要素の 2 番目の p 要素である場合、フォントの色は赤になります)

6.1.3.4 : first-child 親要素の最初の要素

6.1 .3.5 :last-child 親要素の最後の要素

6.1.3.6 nth-last-of-type(n) (例: p :nth-last-of-type(2){color:red ;} p 要素が親要素の最後の 2 つの p 要素である場合、フォントの色は赤になります)

6.1.3.7 :first-of -type 親要素の最初の p 要素

6.1.3.8 :last-of-type 其父元素的最后一个p元素

6.1.4 :not() /*否定伪类选择器*/ (如:p:not(.a){color:red;})

6.2 常用的伪元素

6.2.1 :before,::after

<style type="text/css">p::before{content:"台词:";}</style></head><body><p>我是唐老鸭。</p><p>我住在 Duckburg。</p><p><b>注释:</b>对于在 IE8 中工作的 :before,必须声明 DOCTYPE。</p></body>
ログイン後にコピー

6.2.2 ::first-letter

<style type="text/css">p::first-letter{color:red;}</style></head><body><p>我是唐老鸭。</p><p>我住在 Duckburg。</p><p><b>注释:</b>对于在 IE8 中工作的 :before,必须声明 DOCTYPE。</p></body>
ログイン後にコピー

6.2.3 ::first-line

<style type="text/css">p::first-line{color:red;}</style></head><body><p>我是唐老鸭。</p><p>我住在 Duckburg。</p><p><b>注释:</b>对于在 IE8 中工作的 :before,必须声明 DOCTYPE。注释:</b>对于在 IE8 中工作的 :before,必须声明 DOCTYPE。注释:</b>对于在 IE8 中工作的 :before,必须声明 DOCTYPE。注释:</b>对于在 IE8 中工作的 :before,必须声明 DOCTYPE。</p></body>
ログイン後にコピー

6.2.4 ::selection

<style type="text/css">::selection{color:red;background-color:#00F;}</style></head><body><p>我是唐老鸭。</p><p>我住在 Duckburg。</p><p><b>注释:</b>对于在 IE8 中工作的 :before,必须声明 DOCTYPE。注释:</b>对于在 IE8 中工作的 :before,必须声明 DOCTYPE。注释:</b>对于在 IE8 中工作的 :before,必须声明 DOCTYPE。注释:</b>对于在 IE8 中工作的 :before,必须声明 DOCTYPE。</p></body>
ログイン後にコピー

二、CSS权重

1、权重列表

<style>/*A>B>C>D>0*/.main-content{color:#666;}/*0*/h3{color:#f00;}/*D*/.h3{color:#0f0;}/*C*/.main-content h3{color:#00f;}/*CD*/.main-content .h3{color:#0ff;}/*CC*/#h3{color:#ff0;}/*B*/</style></head><body><div class="main-content">   <h3 class="h3" id="h3">你好</h3></div></body>
ログイン後にコピー

三、CSS3新增属性

1、定义文本样式

1.1 文字阴影text-shadow

<style>p{ font-size:60px; font-weight:900; color:#999; text-shadow:5px 5px 5px #333,/*水平位移、垂直位移、模糊半径、颜色*/ -15px 15px 5px #333, -15px -15px 5px #333;}</style></head><body><p>HTML5+CSS3</p></body>
ログイン後にコピー

1.2 文字缩进text-indent

1.3 文本换行

<style>p{ width:100px; border:solid 1px red; word-wrap:break-word;/*断单词*/ word-break:break-all;/*断字符*/ white-space:nowrap;/*强制在一行内显示所有文本*/}</style></head><body> <p>中英混对萨排的时候English English English English English</p></body>
ログイン後にコピー

1.4 文本溢出

<style type="text/css">div{ width:200px; white-space:nowrap; border:solid 1px red; text-overflow:clip;/*不显示省略标记,而是简单的裁切掉*/ text-overflow:ellipsis;/*当对象内文本溢出时显示省略标记*/ overflow:hidden;}</style></head><body><div>的撒打算打算打算大神大神大神大神大神</div></body>
ログイン後にコピー

1.5 圆角 border-radius

1.6 阴影 box-shadow

1.7 背景图片铺满 background-size:cover

1.8 transform

<style type="text/css">#d1{ width:100px; height:100px; background-color:#00F;}#d1:hover{ transform:rotate(40deg) scale(1.2);/*顺时针旋转40度,放大1.2倍*/ transform:translate(40px,40px);/*水平偏移40px,垂直偏移40px*/ transform:skew(30deg,-10deg);/*水平倾斜30度,垂直倾斜10度*/}</style></head><body><div id="d1"></div></body>
ログイン後にコピー

1.9 平滑过渡 transition

<style type="text/css">#d1{ width:100px; height:100px; background-color:#00F;}#d1:hover{ background-color:#F00; transition:background-color 1s ease-in;/*过渡的属性,如果是所有的则是all,经历的时间,过渡效果*/}</style></head><body><div id="d1"></div></body>
ログイン後にコピー

2.0 更复杂的动画 animation

<style type="text/css">#d1{ magin:0px auto; width:959px; height:613px; background-image:url("11.jpg"); animation:x-spin 20s infinite linear;/*动画名称,经历时间,播放次数(为infinite则一直播放),播放方式*/}@-webkit-keyframes x-spin{ 0%{ transform:rotateX(0deg);/*沿x轴开始旋转*/    } 50%{ transform:rotateX(180deg);/*沿x轴旋转180*/    } 10%{ transform:rotateX(360deg);/*沿x轴旋转360*/    }}</style></head><body><div id="d1"></div></body>
ログイン後にコピー

<style type="text/css">#d1{width:100px;height:100px;background:red;position:relative;animation:mymove 5s infinite;}@keyframes mymove{from {left:0px;}to {left:200px;}}</style></head><body><div id="d1"></div></body>
ログイン後にコピー

2.1 渐变

<style type="text/css">#d1{ height:200px; width:400px; border:solid 1px red;    /*线性渐变,开始位置,结束位置,开始的颜色,结束的颜色,色标(色标位置,色标颜色,可以有多个色标,色标即是颜色过渡点)*/ //background:-webkit-gradient(linear,left top,left bottom,from(blue),to(red),color-stop(0.4,#fff),color-stop(0.6,#fff));    /*径向渐变,内圆圆心位置,内圆半径,外圆圆心半径,外圆半径,开始颜色,结束颜色,色标*/ background:-webkit-gradient(radial, center center, 0, center center, 460, from(blue), to(red),color-stop(0.6,#fff));}</style></head><body><div id="d1"></div></body>
ログイン後にコピー

2.2 响应式布局

<style type="text/css">/*屏幕宽度大于900的时候*/*{    padding:0px;    margin:0px;    font-family:"微软雅黑";}#header{    height:100px;    border:solid 1px red;    margin:0px auto;}#main{    margin:10px auto;    height:400px;}#footer{    margin:0px auto;    height:100px;    border:solid 1px red;}@media screen and (min-width:900px){    #header,#footer    {        width:800px;    }    #main    {        width:800px;        height:400px;;    }    #main-left    {        width:200px;        height:400px;        border:solid 1px red;        float:left;    }    #main-center    {        width:394px;        height:400px;        border:solid 1px red;        float:left;    }    #main-right    {        width:200px;        height:400px;        border:solid 1px red;        float:left;    }}@media screen and (min-width:600px) and (max-width:900px){    #header,#footer    {        width:600px;    }    #main    {        width:600px;        height:400px;;    }    #main-left    {        width:200px;        height:400px;        border:solid 1px red;        float:left;    }    #main-center    {        width:396px;        height:400px;        border:solid 1px red;        float:left;    }    #main-right    {        display:none;    }}@media screen and (max-width:600px){    #header,#footer    {        width:300px;    }    #main    {        width:300px;        height:400px;;    }    #main-left    {        display:none;    }    #main-center    {        width:300px;        height:400px;        border:solid 1px red;    }    #main-right    {        display:none;    }}</style></head><body><div id="header">头部</div><div id="main">  <div id="main-left">主题-左边</div>  <div id="main-center">主题-中间</div>  <div id="main-right">主题-右边</div></div><div id="footer"></div></body>
ログイン後にコピー

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

&lt; Progress&gt;の目的は何ですか 要素? &lt; Progress&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:34 PM

この記事では、HTML&lt; Progress&gt;について説明します。要素、その目的、スタイリング、および&lt; meter&gt;との違い要素。主な焦点は、&lt; Progress&gt;を使用することです。タスクの完了と&lt; Meter&gt; statiの場合

&lt; datalist&gt;の目的は何ですか 要素? &lt; datalist&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:33 PM

この記事では、HTML&lt; Datalist&GT;について説明します。オートコンプリートの提案を提供し、ユーザーエクスペリエンスの改善、エラーの削減によりフォームを強化する要素。

HTML5のクロスブラウザー互換性のベストプラクティスは何ですか? HTML5のクロスブラウザー互換性のベストプラクティスは何ですか? Mar 17, 2025 pm 12:20 PM

記事では、HTML5クロスブラウザーの互換性を確保するためのベストプラクティスについて説明し、機能検出、プログレッシブエンハンスメント、およびテスト方法に焦点を当てています。

&lt; meter&gt;の目的は何ですか 要素? &lt; meter&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:35 PM

この記事では、html&lt; meter&gt;について説明します。要素は、範囲内でスカラーまたは分数値を表示するために使用され、Web開発におけるその一般的なアプリケーション。それは差別化&lt; Meter&gt; &lt; Progress&gt;およびex

HTML5&lt; time&gt;を使用するにはどうすればよいですか 日付と時刻を意味的に表す要素? HTML5&lt; time&gt;を使用するにはどうすればよいですか 日付と時刻を意味的に表す要素? Mar 12, 2025 pm 04:05 PM

この記事では、html5&lt; time&gt;について説明します。セマンティックデート/時刻表現の要素。 人間の読み取り可能なテキストとともに、マシンの読みやすさ(ISO 8601形式)のDateTime属性の重要性を強調し、Accessibilitを増やします

HTML5フォーム検証属性を使用してユーザー入力を検証するにはどうすればよいですか? HTML5フォーム検証属性を使用してユーザー入力を検証するにはどうすればよいですか? Mar 17, 2025 pm 12:27 PM

この記事では、ブラウザのユーザー入力を直接検証するために、必要、パターン、MIN、MAX、および長さの制限などのHTML5フォーム検証属性を使用して説明します。

ビューポートメタタグとは何ですか?レスポンシブデザインにとってなぜそれが重要なのですか? ビューポートメタタグとは何ですか?レスポンシブデザインにとってなぜそれが重要なのですか? Mar 20, 2025 pm 05:56 PM

この記事では、モバイルデバイスのレスポンシブWebデザインに不可欠なViewportメタタグについて説明します。適切な使用により、最適なコンテンツのスケーリングとユーザーの相互作用が保証され、誤用が設計とアクセシビリティの問題につながる可能性があることを説明しています。

&lt; iframe&gt;の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? &lt; iframe&gt;の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? Mar 20, 2025 pm 06:05 PM

この記事では、&lt; iframe&gt;外部コンテンツをWebページ、その一般的な用途、セキュリティリスク、およびオブジェクトタグやAPIなどの代替案に埋め込む際のタグの目的。

See all articles