伪元素:before和:after的定义和基本用法
一、定义
:before 选择器在被选元素的内容前面插入内容。
:after 选择器在被选元素的内容后面插入内容。
二、使用
使用 content 属性来指定要插入的内容。它的有用的几个值:
1、[String] – 使用引号包括一段字符串,将会向元素内容中添加字符串。
示例: a:after { content: "↗"; }
2、attr() – 调用当前元素的属性,可以方便的比如将图片的 Alt 提示文字或者链接的 Href 地址显示出来。
示例:a:after { content:"(" attr(href) ")"; }
3、url() / uri() – 用于引用媒体文件。
示例:h3::before { content: url(logo.png); }
4、counter() – 调用计数器,可以不使用列表元素实现序号功能。
示例:h3:before { counter-increment: chapter; content: "Chapter " counter(chapter) ". " }
三、应用
1、文字提示
2、 清浮动
3、模拟float:center
4、实现一些小图标、小图形:比如五角星、搜索图标等等
5、列表序号
6、动画效果
比如:上海市政府网站内页各板块鼠标放上去边线左右移动显示效果
- /* panel */
 - .panel {
 - position: relative;
 - overflow: hidden;
 - margin-bottom: 20px;
 - padding: 0 20px;
 - border-radius: 0;
 - -webkit-transition: all .15s ease-in-out;
 - transition: all .15s ease-in-out;
 - border: 0;
 - }
 - .panel:hover:after,
 - .panel:hover:before {
 - position: absolute;
 - left: 0;
 - right: 0;
 - height: 1px;
 - background: #bf0c0d;
 - content: '';
 - }
 - .panel:hover:after {
 - top: 0;
 - animation:panel-top-solid 5s infinite alternate;
 - -webkit-animation:panel-top-solid 5s infinite alternate ;
 - -moz-animation:panel-top-solid 5s infinite alternate ;
 - -o-animation:panel-top-solid 5s infinite alternate ;
 - -ms-animation:panel-top-solid 5s infinite alternate ;
 - }
 - @keyframes panel-top-solid{
 - 0% {left:0;}
 - 50% { left: 100%;}
 - 100% {left:0;}
 - }
 - @-webkit-keyframes panel-top-solid{
 - 0% {left:0;}
 - 50% { left: 100%;}
 - 100% {left:0;}
 - }
 - @-moz-keyframes panel-top-solid{
 - 0% {left:0;}
 - 50% { left: 100%;}
 - 100% {left:0;}
 - }
 - @-o-keyframes panel-top-solid{
 - 0% {left:0;}
 - 50% { left: 100%;}
 - 100% {left:0;}
 - }
 - @-ms-keyframes panel-top-solid{
 - 0% {left:0;}
 - 50% { left: 100%;}
 - 100% {left:0;}
 - }
 - .panel:hover:before {
 - bottom: 0;
 - animation:panel-bottom-solid 5s infinite alternate;
 - -webkit-animation:panel-bottom-solid 5s infinite alternate ;
 - -moz-animation:panel-bottom-solid 5s infinite alternate ;
 - -o-animation:panel-bottom-solid 5s infinite alternate ;
 - -ms-animation:panel-bottom-solid 5s infinite alternate ;
 - }
 - @keyframes panel-bottom-solid{
 - 0% {right:0;}
 - 50% { right: 100%;}
 - 100% {right:0;}
 - }
 - @-webkit-keyframes panel-bottom-solid{
 - 0% {right:0;}
 - 50% { right: 100%;}
 - 100% {right:0;}
 - }
 - @-moz-keyframes panel-bottom-solid{
 - 0% {right:0;}
 - 50% { right: 100%;}
 - 100% {right:0;}
 - }
 - @-o-keyframes panel-bottom-solid{
 - 0% {right:0;}
 - 50% { right: 100%;}
 - 100% {right:0;}
 - }
 - @-ms-keyframes panel-bottom-solid{
 - 0% {right:0;}
 - 50% { right: 100%;}
 - 100% {right:0;}
 - }
 
内容...
