목차
CSS3模块化结构
CSS历史发展
CSS3属性选择器
通用型伪类选择器
CSS3结构性伪类选择器
CSS3 UI元素状态伪类选择器
CSS3 层级关系选择器
使用选择器来插入内容
大标题
中标题
小标题
웹 프론트엔드 HTML 튜토리얼 CSS3系列一(概述、选择器、使用选择器插入内容)_html/css_WEB-ITnose

CSS3系列一(概述、选择器、使用选择器插入内容)_html/css_WEB-ITnose

Jun 24, 2016 am 11:42 AM

CSS3模块化结构

CSS历史发展

CSS(Cascading Style Sheet),层叠样式表,是用于控制网页样式并允许将样式信息与网页内容分离的一种标记性语言。

CSS3属性选择器

  1. E[attr=val]表示具有属性att且其值等于val
  2. E[attr*=val]表示具有属性attr且其值中包含val
  3. E[attr^=val]表示具有属性attr且其值以val开头
  4. E[attr$=val]表示具有属性attr且其值以val结尾

事实上除了以上四个之外还有俩用的相对比较少的属性选择器,那就是

E[attr|=val]用来选择具有属性attr且属性的值为val或以val-开头的元素(其中-是不可或缺的)。

a[lang|=zh]{do something} //将会选择具有lang属性值为zh或属性值以zh-开头的a标签
로그인 후 복사

E[attr~=val] 当某个元素的某个属性具有多个用空格隔开的属性值,此时使用E[attr~=val]只要attr属性多个属性值中有一个等于val匹配元素就会被选中。

<a href="" id="test" title="test first"></a> a[title~=test]{do something} //将会选择具有title属性且其中一个属性值为test的a标签
로그인 후 복사

通用型伪类选择器

  1. E:first-line:为某个元素中的第一行文字使用样式
  2. E:first-letter用于为某个元素中的文字的首字母(欧美文字)或第一个字(中文或日文)使用样式
  3. E:before用于在某个元素之前插入一些内容
  4. E:after用于在某个元素之后插入一些内容

CSS3结构性伪类选择器

  1. :root选择器将样式绑定到页面的根元素中,所谓根元素,是指位于文档树中最顶层结构的元素,在html页面中就是指包含着整个页面的部分
  2. E:not想排除这个结构元素下面的子结构元素
  3. E:empty指定当元素内容为空白时使用的样式
  4. E:target对页面中某个target元素指定样式,该样式只在用户点击了页面中的超链接,并且跳转到target元素后起作用
  5. E:first-child用来选取特定元素的第一个子元素
  6. E:last-child用来选取特定元素的最后一个子元素。
  7. E:nth-child用来选取某个父元素的一个或多个特定的子元素,其中的n可以是数值(从1开始),也可以是包含n的表达式,也可以是odd(奇数),even(偶数)。
  8. E:nth-last-child 它的用法和nth-child用法一样,但是nth-last-child()选择的元素是从父元素的最后一个子元素开始算起。
  9. E:nth-of-type只计算父元素中指定的某种类型的子元素(当某个元素的子元素类型不只是一种时,使用nth-of-type来选择会比较有用)
  10. E:nth-last-of-type 它的用法和nth-of-type一样,不过不同的是:nth-last-of-type()也是从父元素的最后一个子元素开始算起。
  11. E:only-child匹配元素的父元素只有一个子元素

CSS3 UI元素状态伪类选择器

  1. E:hover{do something} //选择鼠标停留的匹配的E元素
  2. E:active{do something} //选择匹配的E元素,且元素被激活,常用在锚点和按钮上
  3. E:link{do something} //选择定义了超链接但链接还未被访问过的元素
  4. E:visited{do something} //选择定义了超链接并且链接已经被访问过的元素
  5. E:focus{do something} //选择匹配的E元素,且元素获得焦点
  6. E:enabled{do something} //选择匹配的E元素,且元素处于可用状态下
  7. E:disabled{do something} //选择匹配的E元素,且元素处于不可用状态下
  8. E:read-only{do something} //用来指定当元素处于只读状态时的样式
  9. E:read-write{do something} //用于指定当元素处于非只读状态时的样式
  10. E:checked{do something} //用来指定当表单中的radio单选框或checkbox复选框处于选取状态时的样式
  11. E:default{do something} //用来指定当页面打开时默认处于选取状态的单选框或复选控件的样式(即使用户将该复选框或复选框控件的选取状态设定为非选取状态 E:default选择器中指定的样式仍然有效)
  12. E:indeterminate{do something} //用来指定当页面打开时,如果一组单选框中任何一个单选框都没有被设定为选取状态时整组单选框的样式(如果用户选取了其中任何一个单选框,则该样式被取消指定)
  13. E::selection用来指定当元素处于选中状态时的样式

CSS3 层级关系选择器

后代选择器「E F」选择匹配E的元素内的所有匹配F的元素。

子选择器「E > F」 选择配配E的元素的匹配F的直系子元素。

相邻兄弟元素选择器「E + F」E和F是同辈元素,具有相同的父元素,并且F元素紧邻在E元素的后面,此时可以使用相邻兄弟选择器。(也就是说只会选择紧接着E元素的第一个F元素)

通用兄弟选择器「E ~ F」E和F是同辈元素,具有相同的父元素,并且F元素在E元素之后,E ~ F将选中E元素后面的所有F元素。

使用选择器来插入内容

        h1:before {            content: 'MYTEXT';        }        h2::after {            content: none;        }        h2::before {            content: normal;            /*            虽然normal和none属性值都表示不插入任何内容            但normal比none使用更广泛,            换句话的意思就是说none属性值只能应用到这两个选择器中,而normal属性值还可以应用到其它用来插入内容的选择器中            */        }        h3:before {           content:url(logo.png);        }        h3 {            background-image:url(logo.png);            /*            虽然两种方法都可以插入图像,但是使用background-image方法时,如果在打印的时候设定了不打印背景就不能正常打印图像了            但使用before选择器追加的图像文件却可以正常打印            */        }        img::after {            content:attr(alt);/*将alt属性的值作为图像的标题来显示*/        }
로그인 후 복사

上面的几个用法可能都会,但下面的用法相信用的相对会比较少,但却很实用哦!

    <style type="text/css">        h1:before {            content: counter(mycounter,upper-alpha)'.';            /*后面的.可以为其指定样式 比如说color:blue                 upper-alpha为大写罗马字母 这里面的值可以是list-style-type中的任意一种             */            color: blue;            font-size: 42px;        }        h1 {            counter-increment: mycounter;        }    </style>    <h1 id="大标题">大标题</h1>    <p>示例文字</p>    <h1 id="大标题">大标题</h1>    <p>示例文字</p>    <h1 id="大标题">大标题</h1>    <p>示例文字</p>
로그인 후 복사

界面显示如下图所示:(也就是说使用counter属性值来针对多个项目追加连续编号)

再来看一个相对上面稍微复杂一点的,也就是编号多层嵌套的例子

 <style type="text/css">        h1:before {            content: counter(mycounter)'.';            color: blue;        }        h1 {            counter-increment: mycounter;            counter-reset: subcounter;        }        h2:before {            content: counter(mycounter) '-' counter(subcounter) '.';        }        h2 {            counter-increment: subcounter;            counter-reset: subsubcounter;            margin-left: 40px;        }        h3:before {            content: counter(mycounter) '-' counter(subcounter) '-' counter(subsubcounter) '.';        }        h3 {            counter-increment: subsubcounter;            margin-left: 80px;        }    </style>    <h1 id="大标题">大标题</h1>    <h2 id="中标题">中标题</h2>    <h3 id="小标题">小标题</h3>    <h3 id="小标题">小标题</h3>    <h3 id="小标题">小标题</h3>    <h2 id="中标题">中标题</h2>    <h3 id="小标题">小标题</h3>    <h3 id="小标题">小标题</h3>    <h2 id="中标题">中标题</h2>    <h3 id="小标题">小标题</h3>    <h3 id="小标题">小标题</h3>    <h1 id="大标题">大标题</h1>    <h2 id="中标题">中标题</h2>    <h3 id="小标题">小标题</h3>
로그인 후 복사

界面效果图如下:(相信你看了代码一看便明白了)

还有一个使用content的小技巧,那就是在字符串两边添加嵌套文字符号

        h1:before {            content:open-quote;        }        h1:after {            content:close-quote;        }        h1 {            quotes:"(" ")";            /*当如果要使用双引号的时候 需要用\转义字符*/            quotes:"\"" "\"";        }
로그인 후 복사

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 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 Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전 By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

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에 대해 논의합니다. 자동 완성 제안을 제공하고, 사용자 경험을 향상시키고, 오류를 줄임으로써 양식을 향상시키는 요소. 문자 수 : 159

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에 대해 설명합니다. 범위 내에 스칼라 또는 분수 값을 표시하는 데 사용되는 요소 및 웹 개발의 일반적인 응용 프로그램. & lt; meter & gt; & lt; Progress & Gt; 그리고 Ex

HTML5 양식 유효성 검사 속성을 사용하여 사용자 입력을 유효성있게하려면 어떻게합니까? HTML5 양식 유효성 검사 속성을 사용하여 사용자 입력을 유효성있게하려면 어떻게합니까? Mar 17, 2025 pm 12:27 PM

이 기사에서는 브라우저에서 직접 사용자 입력을 검증하기 위해 필요한, Pattern, Min, Max 및 Length 한계와 같은 HTML5 양식 검증 속성을 사용하는 것에 대해 설명합니다.

뷰포트 메타 태그는 무엇입니까? 반응 형 디자인에 중요한 이유는 무엇입니까? 뷰포트 메타 태그는 무엇입니까? 반응 형 디자인에 중요한 이유는 무엇입니까? Mar 20, 2025 pm 05:56 PM

이 기사는 모바일 장치의 반응 형 웹 디자인에 필수적인 Viewport Meta Tag에 대해 설명합니다. 적절한 사용이 최적의 컨텐츠 스케일링 및 사용자 상호 작용을 보장하는 방법을 설명하는 반면, 오용은 설계 및 접근성 문제로 이어질 수 있습니다.

& lt; iframe & gt; 꼬리표? 보안을 사용할 때 보안 고려 사항은 무엇입니까? & lt; iframe & gt; 꼬리표? 보안을 사용할 때 보안 고려 사항은 무엇입니까? Mar 20, 2025 pm 06:05 PM

이 기사는 & lt; iframe & gt; 외부 컨텐츠를 웹 페이지, 공통 용도, 보안 위험 및 객체 태그 및 API와 같은 대안을 포함시키는 태그의 목적.

Gitee Pages 정적 웹 사이트 배포 실패 : 단일 파일 문제를 해결하고 해결하는 방법 404 오류? Gitee Pages 정적 웹 사이트 배포 실패 : 단일 파일 문제를 해결하고 해결하는 방법 404 오류? Apr 04, 2025 pm 11:54 PM

GiteEpages 정적 웹 사이트 배포 실패 : 404 오류 문제 해결 및 해결시 Gitee ...

See all articles