首頁 web前端 html教學 Kidney自得其乐版CSS教程 Chapter1 Selector_html/css_WEB-ITnose

Kidney自得其乐版CSS教程 Chapter1 Selector_html/css_WEB-ITnose

Jun 24, 2016 am 11:16 AM

Chapter 1 Selector 选择器

Version

Update

Note

1.0

2016-5-28

首次添加。欢迎在评论中指出错误,一经核实,立即修订,且注明贡献者。

   

 

 

 

图例:CSS3以前版本    CSS3中浏览器普遍支持的属性    CSS3中未被普遍支持的属性

1、元素选择器

1.1 *

  通配符,表示所有元素

1.2 element

2、class和id

2.1 .className

2.2 #id

  在单个文档中指定唯一的元素。

  id可用于锚链接。例如:

  click me

  

  点击click me,页面会跳转到锚链接的位置,并且文档的url后添加了#hi

  file:///C:/Users/kidney/Desktop/demo.html#hi

  此时div成为了目标元素,可以被div:target伪类选中。

3、关系选择器

3.1 E F

  选择E后代中所有的F

3.2 E>F

  选择E直接子代中所有的F

3.3 E~F

  选择E兄弟元素中所有的F

3.4 E+F

  选择紧跟E后面的兄弟元素F

4、属性选择器

4.1 selector[attrName]、selector[attrName = "value "]

  这是基本格式。attrName可以是自定义属性。

4.2 ~=

  选择属性值中包含指定value的元素,value指向一个完整的单词。~=表示"含有"。

4.3 *=

  选择属性值中包含指定value的字符串的元素。

  

  div[*= "a"]  //有效

  div[*= "ef"]  //有效

4.4 ^=

  选择属性值为以指定value开头字符串的元素。^=表示"以…开头"。

  注意:只针对第一个属性值。例如:

  

  div[name ^= "ab"]  //有效

  div[name ^= "de"]  //无效

  下同。

4.5 $=

  选择属性值为以指定value结尾字符串的元素。$=表示"以…结尾"。

4.6 |=

  选择属性值为以指定value开头且用-分隔的字符串的元素。

  

  div[name |= "ab"]  //有效

  div[name |= "a"]  //无效

  div[name |= "de"]  //无效

5、伪类选择器

5.1 子元素序列

       E:first-child  E:last-child  E:nth-child(n)  E:nth-last-child(n)  E:only-child

       E:first-of-type  E:last-of-type  E:nth-of-type(n)  E:nth-last-of-type(n)  E:only-of-type

       nth-child(n)中的n可以是正整数、关键字even(偶)和odd(奇)和含n表达式如2n、2n+1、3n-2等。n是以1、2、3 … 的方式递增的,如果计算出的值小于等于0,会被自动忽略。nth-last-child(n)只是从子元素序列倒着数,别无二致。

  这里所谓子元素,仅仅是要求E必须具备父元素,从用法来看它们更像是兄弟元素的选择器。-child是这样解析的:首先在同级元素中找到第n个元素,然后看该元素是否与E相匹配。匹配,则选择成功,不匹配,则丢弃。-type解析的方式刚好相反,首先在同级元素中找到所有匹配E的元素,然后再在其中选择第n个。

  :only-child的解析规则是如果E是父元素唯一的子元素,则匹配成功;:only-of-type的解析规则是E是父元素唯一的该类(element type)子元素,则匹配成功。

  

     

     

  

  p:only-child  //无效

  p:only-of-type  //有效

5.2 无后元素

  :empty 选择没有后代(包括文本节点、 占位符以及空格)的空元素。

  

  

  p:empty  //无效,跨行表示有空格,空格也属于文本节点

5.3 超链接爱恨四君子

  :link  :visited  :hover  :active

       分别代表a元素访问前、已访问、鼠标悬停和被点击时的状态。必须按此顺序设置,提取首字母,可简记为love&hate。

  :hover被广泛运用在任何元素的悬停事件上。

5.4 表单状态

  :focus 表示文本框获得输入光标事件。

  :checked 表示单选按钮和复选框的选中事件。

  :enabled 表示可用状态的表单元素。

  :disabled 表示禁用状态的表单元素。

5.5 排除

  E:not(S) 表示在E元素集中排除S选择器所匹配的元素后剩余的元素。

6、伪对象选择器(又称伪元素)

6.1 E::before  E::after

     CSS3中用双冒号以与伪类相区别,但也支持用单冒号。

  before和after用于在E的内容前和内容后生成新的内容。

  它们的用法早已超越了仅仅是在首尾添加文本内容,它们可以用来生成几乎任何新的html结构。

6.2 E::first-letter  E::first-line

     它们只适用于块级元素。

  first-letter常用于设置传统印刷媒体中文本首字下沉效果。

6.3 E::selection

  用于设置文本被选择时的样式。

6.4 E::input-placeholder  E::placeholder

  用于设置表单中占位文字的样式。需要加浏览器前缀。

  只有火狐用placeholder,其它浏览器都用input-placeholder

7、选择器的层级

       CCS全称是层叠样式表,其"层叠"就体现在选择器的优先级上,优先级高的覆盖优先级低的。优先级的高低依据的是"确切性、特殊性"(specification),具体遵循以下三个程序:

  一、声明的来源

  用户的重要声明>开发者的声明>用户的正常声明>浏览器的默认声明

  二、在开发者的声明中通过累计权重值判断优先级

类型(从高到低)

权重

说明

重要声明

无限大

!important

内联声明

1000

style

id选择器

100

#id

class、属性选择和伪类

10

 

元素和伪对象

1

 

通配符

0

 

继承

无比0还小

  三、如果累计权重值一样,则按先后顺序确定优先级

  1、内部样式表(

  2、在同一份样式表中:后面的样式>前面的样式

 

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
<🎜>掩蓋:探險33-如何獲得完美的色度催化劑
2 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1677
14
CakePHP 教程
1430
52
Laravel 教程
1333
25
PHP教程
1278
29
C# 教程
1257
24
HTML:結構,CSS:樣式,JavaScript:行為 HTML:結構,CSS:樣式,JavaScript:行為 Apr 18, 2025 am 12:09 AM

HTML、CSS和JavaScript在Web開發中的作用分別是:1.HTML定義網頁結構,2.CSS控製網頁樣式,3.JavaScript添加動態行為。它們共同構建了現代網站的框架、美觀和交互性。

HTML,CSS和JavaScript的未來:網絡開發趨勢 HTML,CSS和JavaScript的未來:網絡開發趨勢 Apr 19, 2025 am 12:02 AM

HTML的未來趨勢是語義化和Web組件,CSS的未來趨勢是CSS-in-JS和CSSHoudini,JavaScript的未來趨勢是WebAssembly和Serverless。 1.HTML的語義化提高可訪問性和SEO效果,Web組件提升開發效率但需注意瀏覽器兼容性。 2.CSS-in-JS增強樣式管理靈活性但可能增大文件體積,CSSHoudini允許直接操作CSS渲染。 3.WebAssembly優化瀏覽器應用性能但學習曲線陡,Serverless簡化開發但需優化冷啟動問題。

HTML的未來:網絡設計的發展和趨勢 HTML的未來:網絡設計的發展和趨勢 Apr 17, 2025 am 12:12 AM

HTML的未來充滿了無限可能。 1)新功能和標準將包括更多的語義化標籤和WebComponents的普及。 2)網頁設計趨勢將繼續向響應式和無障礙設計發展。 3)性能優化將通過響應式圖片加載和延遲加載技術提升用戶體驗。

HTML與CSS vs. JavaScript:比較概述 HTML與CSS vs. JavaScript:比較概述 Apr 16, 2025 am 12:04 AM

HTML、CSS和JavaScript在網頁開發中的角色分別是:HTML負責內容結構,CSS負責樣式,JavaScript負責動態行為。 1.HTML通過標籤定義網頁結構和內容,確保語義化。 2.CSS通過選擇器和屬性控製網頁樣式,使其美觀易讀。 3.JavaScript通過腳本控製網頁行為,實現動態和交互功能。

HTML與CSS和JavaScript:比較Web技術 HTML與CSS和JavaScript:比較Web技術 Apr 23, 2025 am 12:05 AM

HTML、CSS和JavaScript是構建現代網頁的核心技術:1.HTML定義網頁結構,2.CSS負責網頁外觀,3.JavaScript提供網頁動態和交互性,它們共同作用,打造出用戶體驗良好的網站。

超越HTML:網絡開發的基本技術 超越HTML:網絡開發的基本技術 Apr 26, 2025 am 12:04 AM

要構建一個功能強大且用戶體驗良好的網站,僅靠HTML是不夠的,還需要以下技術:JavaScript賦予網頁動態和交互性,通過操作DOM實現實時變化。 CSS負責網頁的樣式和佈局,提升美觀度和用戶體驗。現代框架和庫如React、Vue.js和Angular,提高開發效率和代碼組織結構。

&lt; strong&gt;,lt; b&gt;有什麼區別標籤和lt; em&gt;,&lt; i&gt;標籤? &lt; strong&gt;,lt; b&gt;有什麼區別標籤和lt; em&gt;,&lt; i&gt;標籤? Apr 28, 2025 pm 05:42 PM

本文討論了HTML標籤,和和關注其語義與表現用途及其對SEO和可訪問性的影響之間的差異。

HTML作為標記語言:其功能和目的 HTML作為標記語言:其功能和目的 Apr 22, 2025 am 12:02 AM

HTML的功能是定義網頁的結構和內容,其目的在於提供一種標準化的方式來展示信息。 1)HTML通過標籤和屬性組織網頁的各個部分,如標題和段落。 2)它支持內容與表現分離,提升維護效率。 3)HTML具有可擴展性,允許自定義標籤增強SEO。

See all articles