rainydayDY

study && make progress

  • 主页
  • 目录
  • 前端
  • 杂谈
  • 随感
所有文章 友链 关于我

rainydayDY

study && make progress

  • 主页
  • 目录
  • 前端
  • 杂谈
  • 随感

伪元素的使用及实现效果

2017-08-17

百度解释

  伪元素是创造关于文档语言能够指定的文档树之外的抽象。例如文档语言不能提供访问元素内容第一字或者第一行的机制。伪元素允许设计师引用它们,否则这是难以办到的。伪元素还提供样式设计师给在源文档中不存在的内容分配样式(例如::before和:after能够访问产生的内容)。

题外话:markdown中设置代码高亮显示的时候加上“esc下面的三个点”+语言名称可以是如下效果。

* 为什么要使用伪元素?   我使用伪元素只是在父元素高度不确定,子元素又浮动显示的时候来清楚浮动的,通常都会这样使用。
1
2
3
4
5
element::after{
display:block;
content:'';
clear:both;
}
我一般都是用一个冒号的,因为以前用的是webstorm,后来换了atom,自动就出现了两个冒号,查了一下,CSS2中伪类和伪元素都是使用一个冒号的,但是CSS3区分了伪类和伪元素,伪类使用一个冒号,伪元素使用两个冒号。 * 使用伪元素实现倒三角效果: 实现的效果如图1所示: css实现对话框效果图
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<div class="par_div"></div>
<br>
.par_div{
position: relative;
width:200px;
height:50px;
border: 1px solid #42ae93;
}
.par_div::before{
position: absolute;
left: 50%;
margin-left: -18px;
bottom: -18px;
content: '';
width: 0;
border-width: 18px 18px 0;
border-style: solid;
border-color: white transparent transparent;
z-index: 2;
}
.par_div::after{
position: absolute;
left: 50%;
margin-left: -20px;
bottom: -20px;
content: '';
width: 0;
border-width: 20px 20px 0;
border-style: solid;
border-color: #42ae93 transparent transparent;
}
* 伪元素实现标题形式 实现的效果如图2所示: css实现标题效果图
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<h3 class="title">
<span>ABOUT ME</span>
</h3>
<br>
.title>span::before{
display: block;
content: '';
position: absolute;
left:0;
width:95px;
top:50%;
border-top: 1px solid #e5e5e5;
}
.title>span::after{
display: block;
content: '';
position: absolute;
right:0;
width:95px;
top:50%;
border-top: 1px solid #e5e5e5;
}
* 伪元素实现带图标标题 实现的效果图如图三所示: 伪元素实现带图标标题效果图
1
2
3
4
5
6
7
8
9
10
11
12
13
<a href="#" class="cata_a">Beauty</a>
<br>
.cata_a::before{
display: inline-block;
content: '';
width: 16px;
height: 14px;
background: url(../images/circle.png);
background-size: 20px;
background-position:left;
background-repeat: no-repeat;
padding-right: 20px;
}
* css实现带领结花的彩带效果 实现的效果图如下图所示: css实现带领结花的彩带效果图
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<h1 class="ribbon">
<span class="ribbon-content">CSS3实现的彩带效果</span>
</h1>
<br>
.ribbon{
display: block;
font-size: 14px !important;
font-family: 'microsoft yahei',Arial,sans-serif;
font-weight: normal;
max-width: 50%;
position: relative;
background: orange;
color: #fff;
text-align: center;
padding: 1em 2em;
margin: 2em auto 3em;
}
/* 彩带左右伪选择器生成的领结花 */
.ribbon:before, .ribbon:after {
content: "";
position: absolute;
display: block;
bottom: -1em;
border: 1.5em solid #efb73e;
z-index: -1;
}
/* 定位左边和右边的领结花 */
.ribbon:before {
left: -2em;
border-right-width: 1.5em;
border-left-color: transparent;
}
.ribbon:after {
right: -2em;
border-left-width: 1.5em;
border-right-color: transparent;
}
/* 生成领结阴影 */
.ribbon .ribbon-content:before, .ribbon .ribbon-content:after {
content: "";
position: absolute;
display: block;
border-style: solid;
border-color: #999 transparent transparent transparent;
bottom: -1em;
}
/* 定位阴影位置 */
.ribbon .ribbon-content:before {
left: 0;
border-width: 1em 0 0 1em;
}
.ribbon .ribbon-content:after {
right: 0;
border-width: 1em 1em 0 0;
}
---
赏

谢谢打赏

支付宝
微信
  • 伪元素
  • 前端

扫一扫,分享到微信

微信分享二维码
制作微博插件抓取微博数据
HEXO 的使用
  1. 1. 百度解释
© 2020 rainydayDY
Hexo Theme Yilia by Litten
  • 所有文章
  • 友链
  • 关于我

tag:

  • 技术成长
  • 心智历程
  • CSS
  • HTML
  • 书单推荐
  • 移动端抓包
  • https乱码
  • javascript
  • ES6
  • 人生观
  • 婚姻
  • 恋爱
  • git命令
  • 创建博客
  • 创建文章
  • 命令使用
  • input number
  • 兼容
  • react
  • 插件
  • jQuery
  • 正则表达式
  • 数组
  • 字符串
  • Blob
  • http header
  • redux
  • object
  • 浮点数
  • 加减乘除 && show
  • node js
  • V8
  • https服务
  • mysql
  • 爬虫
  • 正则
  • excel
  • Promise
  • 图片懒加载
  • 路由懒加载
  • axios
  • https
  • 基础算法
  • 文件传输
  • form-data
  • vue
  • element-ui
  • sass
  • 朝鲜王朝
  • 随感
  • 清史
  • 民族矛盾
  • vuex
  • vue-router
  • todolist
  • 实例
  • 模块化
  • 软键盘遮挡
  • 使用场景
  • 伪元素
  • chrome扩展开发
  • 排序算法
  • ajax请求
  • 前端优化
  • JAVASCRIPT
  • 图片处理
  • 轮播图
  • javascripts
  • web 优化
  • 小程序
  • img upload
  • content
  • dns 解析
  • hosts
  • webpack
  • svg
  • IntersectionObserve
  • sticky
  • 场景
  • use
  • cookie
  • single sign on
  • token
  • UI自动化测试
  • 性能测试
  • 组件封装
  • babel

    缺失模块。
    1、请确保node版本大于6.2
    2、在博客根目录(注意不是yilia根目录)执行以下命令:
    npm i hexo-generator-json-content --save

    3、在根目录_config.yml里添加配置:

      jsonContent:
        meta: false
        pages: false
        posts:
          title: true
          date: true
          path: true
          text: false
          raw: false
          content: false
          slug: false
          updated: false
          comments: false
          link: false
          permalink: false
          excerpt: false
          categories: false
          tags: true
    

  • 胡继伟
  • 郑星宬
  • 张少聪
  • 十年踪迹
  • Domonare
于2017年夏毕业于燕山大学
软件工程系

目前从事前端开发工作