美文网首页
css 伪类元素详解 (二)

css 伪类元素详解 (二)

作者: 前端_周瑾 | 来源:发表于2020-03-20 17:34 被阅读0次

::BEFORE/:BEFORE

:before 伪元素与:after 类似,都可以为其他 HTML 元素添加内容(文本或图形)。同样,这里的内容并不实际存在于 DOM 中,但可以像存在一样操作它们。需要在 CSS 中声明 content 属性。

记住,通过这个伪元素生成的内容不能通过其他选择符选中。

HTML:

<h1>Ricardo</h1>

CSS:

h1:before {
    content: "Hello "; /* 注意Hello后面有一个空格 */}

结果网页中会变成这样:

Hello Ricardo!
注意: 看到“Hello ”后面的空格了吗?没错,空格也算数。

::AFTER/:AFTER

:after 伪元素也用于为其他 HTML 元素添加内容(文本或图形)。这里的内容并不实际存在于 DOM 中,但可以像存在一样操作它们。为了使用这个伪元素,必须在 CSS 中声明 content 属性。

同样,通过这个伪元素添加的任何内容都无法通过其他选择符选中。

HTML:

<h1>Ricardo</h1>

CSS:

h1:after {
    content: ", Web Designer!";}

结果如下:

Ricardo, Web Designer!

::BACKDROP (EXPERIMENTAL)

::backdrop 伪元素是在全屏元素后面生成的一个盒子,与:fullscreen 伪类连用,修改全屏后元素的背景颜色。

注意: ::backdrop 伪元素必须用双冒号。

还看前面:fullscreen 伪类的例子。

HTML:

<h1 id="element">This heading will have a solid background color in full-screen mode.</h1><button onclick="var el = document.getElementById('element'); el.webkitRequestFullscreen();">Trigger full screen!</button>

CSS:

h1:fullscreen::backdrop {
    background: orange;}

看示例:http://codepen.io/ricardozea/pen/bEPEPE

::FIRST-LETTER/:FIRST-LETTER

:first-letter 伪元素选择一行文本第一个字符。

如果相应行前面包含图片、视频或表格元素,那么不会影响选择第一个字符。

这个伪元素非常适合对段落进行排版,有了它就不必用图片或其他技巧了。

提示: 这个伪元素也可以选中:before 伪元素生成的第一个字符。

CSS:

h1:first-letter  {
    font-size: 5em;}

::FIRST-LINE/:FIRST-LINE

:first-line 选择元素的第一行,只适用于块级元素,行内元素不适用。

即使一段文本有多行,也会选中第一行。

CSS:

p:first-line {
    background: orange;}

::SELECTION

::selection选择文档中被高亮选中的部分。

注意,基于Gecko的浏览器要求使用前面:::-moz-selection。

注意: 在一条规则中同时使用带前缀和不还前缀的::selection是不行的,要分别写。

CSS:


::-moz-selection {
color: orange;
background: #333;}::selection {
color: orange;
background: #333;}

::PLACEHOLDER (EXPERIMENTAL)

::placeholder伪元素选择表单元素中通过placeholder属性设置的占位文本。

也可以写成::input-placeholder。

注意: 这个伪元素不是标准的,因此将来有可能会变化。

在某些浏览器(IE10及Firefox 18之前)中,::placeholder伪元素的实现类似一个伪类。其他浏览器都将其视为伪元素。因此,除非要兼容IE10或旧版本的Firefox浏览器,因此应该这样写:

HTML:


<input type="email" placeholder="name@domain.com">

CSS:

input::-moz-placeholder {
    color:#666;}input::-webkit-input-placeholder {
    color:#666;}/* IE 10 only */input:-ms-input-placeholder {
    color:#666;}/* Firefox 18 and below */input:-moz-input-placeholder {
    color:#666;}

::BEFORE/:BEFORE

:before 伪元素与:after 类似,都可以为其他 HTML 元素添加内容(文本或图形)。同样,这里的内容并不实际存在于 DOM 中,但可以像存在一样操作它们。需要在 CSS 中声明 content 属性。

记住,通过这个伪元素生成的内容不能通过其他选择符选中。

HTML:

<h1>Ricardo</h1>

CSS:

h1:before {
    content: "Hello "; /* 注意Hello后面有一个空格 */}

结果网页中会变成这样:

Hello Ricardo!
注意: 看到“Hello ”后面的空格了吗?没错,空格也算数。

::AFTER/:AFTER

:after 伪元素也用于为其他 HTML 元素添加内容(文本或图形)。这里的内容并不实际存在于 DOM 中,但可以像存在一样操作它们。为了使用这个伪元素,必须在 CSS 中声明 content 属性。

同样,通过这个伪元素添加的任何内容都无法通过其他选择符选中。

HTML:

<h1>Ricardo</h1>

CSS:

h1:after {
    content: ", Web Designer!";}

结果如下:

Ricardo, Web Designer!

::BACKDROP (EXPERIMENTAL)

::backdrop 伪元素是在全屏元素后面生成的一个盒子,与:fullscreen 伪类连用,修改全屏后元素的背景颜色。

注意: ::backdrop 伪元素必须用双冒号。

还看前面:fullscreen 伪类的例子。

HTML:

<h1 id="element">This heading will have a solid background color in full-screen mode.</h1><button onclick="var el = document.getElementById('element'); el.webkitRequestFullscreen();">Trigger full screen!</button>

CSS:

h1:fullscreen::backdrop {
    background: orange;}

看示例:http://codepen.io/ricardozea/pen/bEPEPE

::FIRST-LETTER/:FIRST-LETTER

:first-letter 伪元素选择一行文本第一个字符。

如果相应行前面包含图片、视频或表格元素,那么不会影响选择第一个字符。

这个伪元素非常适合对段落进行排版,有了它就不必用图片或其他技巧了。

提示: 这个伪元素也可以选中:before 伪元素生成的第一个字符。

CSS:

h1:first-letter  {
    font-size: 5em;}

::FIRST-LINE/:FIRST-LINE

:first-line 选择元素的第一行,只适用于块级元素,行内元素不适用。

即使一段文本有多行,也会选中第一行。

CSS:

p:first-line {
    background: orange;}
    

::SELECTION

::selection选择文档中被高亮选中的部分。

注意,基于Gecko的浏览器要求使用前面:::-moz-selection。

注意: 在一条规则中同时使用带前缀和不还前缀的::selection是不行的,要分别写。

CSS:


::-moz-selection {
color: orange;
background: #333;}::selection {
color: orange;
background: #333;}

::PLACEHOLDER (EXPERIMENTAL)

::placeholder伪元素选择表单元素中通过placeholder属性设置的占位文本。

也可以写成::input-placeholder。

注意: 这个伪元素不是标准的,因此将来有可能会变化。

在某些浏览器(IE10及Firefox 18之前)中,::placeholder伪元素的实现类似一个伪类。其他浏览器都将其视为伪元素。因此,除非要兼容IE10或旧版本的Firefox浏览器,因此应该这样写:

HTML:


<input type="email" placeholder="name@domain.com">

CSS:

input::-moz-placeholder {
    color:#666;}input::-webkit-input-placeholder {
    color:#666;}/* IE 10 only */input:-ms-input-placeholder {
    color:#666;}/* Firefox 18 and below */input:-moz-input-placeholder {
    color:#666;}

小结
CSS伪类和伪元素相当有用,对不?这些伪类和伪元素提供了丰富的选择便利。

不要光看,自己动手试一试吧。广受支持的伪类和伪元素是很靠谱的。

希望大家看了这篇长文能有所收获。别忘了收藏它!

全部完~


相关链接

css 伪类元素详解(一)

css 伪类元素详解(二)

相关文章

  • css 伪类元素详解 (二)

    ::BEFORE/:BEFORE :before 伪元素与:after 类似,都可以为其他 HTML 元素添加内容...

  • css伪元素

    css 伪元素 详述: 这篇文章是继 css的伪类 与 css 伪类选择器 后的 CSS伪元素总结, 意在总结连贯...

  • part2: CSS基础-练习

    CSS全称: cascading style sheets 谈谈css伪类与伪元素 这是我见过最全的伪类和伪元素总...

  • 伪元素&伪类

    css引入伪类和伪元素概念是为了格式化文档树以外的信息。 伪元素&伪类: css引入伪类和伪元素概念是为了格式化文...

  • 伪元素&伪类

    css引入伪类和伪元素概念是为了格式化文档树以外的信息。 伪元素&伪类:css引入伪类和伪元素概念是为了格式化文档...

  • 伪类和伪元素

    伪类:CSS 伪类用于向某些选择器添加特殊的效果。 伪元素:CSS 伪元素用于向某些选择器设置特殊效果。 1、伪类...

  • CSS

    伪类的语法: CSS 类也可与伪类搭配使用。 伪元素

  • 伪元素和伪类

    伪元素和伪类 什么是伪元素? CSS 在渲染文档的时候,伪元素可以通过 css 给 HTML 添加一个元素(叫标签...

  • 伪元素和伪类问题

    1.单冒号(:)用于CSS3伪类,双冒号(::)用于CSS3伪元素。2.css2伪类和伪元素都是用单引号,所有的浏...

  • CSS进阶知识点--CSS3伪类选择器和伪元素

    伪类选择器 动态伪类(锚点伪类、用户行为伪类) UI元素状态伪类 CSS3结构伪类 否定选择器 伪元素 动态伪类 ...

网友评论

      本文标题:css 伪类元素详解 (二)

      本文链接:https://www.haomeiwen.com/subject/kyxsyhtx.html