词条信息

xiazaiwo
xiazaiwo
进士
最近编辑者 发短消息   

相关词条

热门词条

更多>>
什么是端口?到底是做什么的呢?
端口一般指两种,一种是硬件比如路由器或者交换机的插网线的端口,一种是软件的逻辑的概念,比如http的80端口!...
7种进阶方法让你快速测试端口连通性
Ping是Windows、Linux和Unix系统下的一个检查网络连通性的命令工具,对于大部分互联网用户来说很...
电脑开机,总需要按F1,是什么原因造成的?
一.主板掉电这个说法是行业内的叫法了,一般是主板的CMOS电池没电了导致的。也是最常见的一种提示你按F1的提示...
社保降费对个人有什么影响?
下调城镇职工基本养老保险单位缴费比例是政府给企业发的一个大红包,特别是对于企业来说是一个利好,但是对个人来说有...
车辆“出险”对下年保费的影响,到底有多大?
【出险对交强险的影响】【出险对商业险的影响】车辆“出险”对下年保费的影响,到底有多大?这里有必要先提下车险第三...

精选图集

更多>>
简易百科旧版 >>所属分类 >> CSS   

CSS ::before 和::after 伪元素用法

标签: 暂无标签

顶[0] 发表评论(0) 编辑词条

CSS 有两个说不上常用的伪类 :before 和 :after,偶尔会被人用来添加些自定义格式什么的,但是它们的功用不仅于此。前几天发现了 Creative Link Effects 这个非常有意思的介绍创意链接特效的页面,里面惊人的效果大量使用到的特性除了 transform 属性进行变形之外,就是接下来要介绍的这两个伪元素了。

Creative Button Styles

Creative Button Styles

 一 基本语法

在了解进阶的应用之前,先来了解一下语法规则。平常仅仅需要将这两个伪元素用于添加一些自定义字符时,只需使用伪类使用的单冒号写法,以保证浏览器的兼容性:

CSS Code复制内容到剪贴板
  1. p:before  {}    

不过,在 CSS3 中为了区别伪元素和伪类为伪元素使用了双冒号,因此如果使用了 display 或者 width 等属性时使得显示脱离了原本元素后,建议按照标准双写。过于老的浏览器可能会存在支持问题,不过伪元素大多是配合 CSS3 使用,就无所谓向下兼容了:

CSS Code复制内容到剪贴板
  1. img::after {}     

这两个伪类下特有的属性 content ,用于在 CSS 渲染中向元素逻辑上的头部或尾部添加内容。注意这些添加不会改变文档内容,不会出现在 DOM 中,不可复制,仅仅是在 CSS 渲染层加入。比较有用的是以下几个值:

•[String] - 使用引号包括一段字符串,将会向元素内容中添加字符串。示例:

CSS Code复制内容到剪贴板
  1. •a:after { content"↗"; }     

attr() – 调用当前元素的属性,可以方便的比如将图片的 Alt 提示文字或者链接的 Href 地址显示出来。示例:

CSS Code复制内容到剪贴板
  1. •a:after { content:"(" attr(href) ")"; }     

url() / uri() – 用于引用媒体文件。示例:

CSS Code复制内容到剪贴板
  1. •h1::before { contenturl(logo.png); }     

counter() –  调用计数器,可以不使用列表元素实现序号功能。具体请参见 counter-increment 和 counter-reset 属性的用法。示例:

CSS Code复制内容到剪贴板
  1. h2:before { countercounter-increment: chapter; content"Chapter " counter(chapter) ". " }   

二 进阶技巧

清除浮动是一个时常会遇到的问题,不少人的解决办法是添加一个空的 div 应用 clear:both; 属性。现在,无需增加没有意义的元素,仅需要以下样式即可在元素尾部自动清除浮动:

CSS Code复制内容到剪贴板
  1. .clear-fix { *overflowhidden; *zoom: 1; }     
  2. .clear-fix:after { display: table; content""width: 0; clearboth; }     

许多人喜欢给 blockquote 引用段添加巨大的引号作为背景,这种时候我们就可以用 :before 来代替 background 了,即可以给背景留下空间,还可以直接使用文字而非图片:

CSS Code复制内容到剪贴板
  1. blockquote::before {     
  2.     contentopen-quote;     
  3.     positionabsolute;     
  4.     z-index: -1;     
  5.     color#DDD;     
  6.     font-size120px;     
  7.     font-familyserif;     
  8.     font-weightbolder;     
  9. }    

 三 特效妙用

除了简单的添加字符,配合 CSS 强大的定位和特效特性,完全可以达到给简单的元素另外附加最多两个容器的效果。有一点需要注意的是,如果不需要内容仅配合样式属性做出效果,内容属性也不能为空,即 content:”" 。否则,其他的样式属性一概不会生效。

悬浮出现方括号

悬浮出现方括号

鼠标移上链接,出现方括号:

CSS Code复制内容到剪贴板
  1. a {     
  2.     positionrelative;     
  3.     displayinline-block;     
  4.     outlinenone;     
  5.     text-decorationnone;     
  6.     color#000;     
  7.     font-size32px;     
  8.     padding5px 10px;     
  9. }     
  10.      
  11. a:hover::before, a:hover::after { positionabsolute; }     
  12. a:hover::before { content"\5B"left: -20px; }     
  13. a:hover::after { content"\5D"rightright:  -20px; }     

同样,我们只需要配合 display: block 和 position: absolute ,就可以将其当成两个容器,拼合成悬浮出现双边框的特效:

CSS Code复制内容到剪贴板
  1. a {     
  2.     positionrelative;     
  3.     displayinline-block;     
  4.     outlinenone;     
  5.     text-decorationnone;     
  6.     color#000;     
  7.     font-size32px;     
  8.     padding: 0 10px;     
  9. }     
  10.      
  11. /* 大框 */     
  12. a:hover::before, a:hover::after {      
  13.     content"";     
  14.     displayblock;     
  15.     positionabsolute;     
  16.     top: -15%%;     
  17.     left: -14%%;     
  18.     width: 120%;     
  19.     height: 120%;     
  20.     border-stylesolid;     
  21.     border-width4px;     
  22.     border-color#DDD;     
  23.  }     
  24.      
  25. /* 小框 */     
  26.  a:hover::after {     
  27.     top: 0%;     
  28.     left: 0%;     
  29.     width: 100%;     
  30.     height: 100%;     
  31.     border-width2px;     
  32.  }    

以上这篇那些你所不知的CSS ::before 和::after 伪元素用法就是小编分享给大家的全部内容了,希望能给大家一个参考.

 

 

参考资料
[1].  那些你所不知的CSS ::before 和::after 伪元素用法   http://www.xiazaiwo.net/webmaster/1298.html

附件列表


按字母顺序浏览:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

→我们致力于为广大网民解决所遇到的各种电脑技术问题
 如果您认为本词条还有待完善,请 编辑词条

上一篇设置块元素居窗口中间的位置实现方法
下一篇一键设置java 环境变量 cmd下查看、修改

0
1. 本站部分内容来自互联网,如有任何版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
2. 本站内容仅供参考,如果您需要解决具体问题,建议您咨询相关领域专业人士。
3. 如果您没有找到需要的百科词条,您可以到百科问答提问或创建词条,等待高手解答。

关于本词条的提问

查看全部/我要提问>>