# 文本溢出
多行文本溢出,有兼容问题ie8什么的会换行
{
overflow: hidden;
text-overflow: ellipsis;
display: box;
display: -webkit-box;
line-clamp: 2;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}
单行文本溢出
{
overflow: hidden;
text-overflow: ellipsis;
display: block;
white-space:nowrap;
}
# 三条杆效果
{
.contain {
width:120px;
height:20px;
border-top:20px double;
border-bottom:20px solid;
}
}
# BFC
BFC 就是块级格式上下文,是页面盒模型布局中的一种 CSS 渲染模式,相当于一个独立的容器,里面的元素和外部的元素相互不影响。创建 BFC 的方式有:
- html 根元素
- float 浮动
- 绝对定位
- overflow 不为 visiable
- display 为表格布局或者弹性布局
BFC 主要的作用是:
- 清除浮动
- 防止同一 BFC 容器中的相邻元素间的外边距重叠问题
FFC(Flex formatting contexts):自适应格式上下文display值为flex或者inline-flex的元素将会生成自适应容器(flex container), 可惜这个牛逼的属性只有谷歌和火狐支持,不过在移动端也足够了,至少safari和chrome还是OK的,毕竟这俩在移动端才是王道。Flex Box 由 伸缩容器和伸缩项目组成。通过设置元素的 display 属性为 flex 或 inline-flex 可以得到一个伸缩容器。设置为 flex 的容器被渲染为一个 块级元素,而设置为 inline-flex 的容器则渲染为一个行内元素。伸缩容器中的每一个子元素都是一个伸缩项目。伸缩项目可以是任意数量的。伸 缩容器外和伸缩项目内的一切元素都不受影响。简单地说,Flexbox 定义了伸缩容器内伸缩项目该如何布局
# 加号点击更多
实现加号点击更多的效果,以及移动上去颜色渐变的效果,注意border-color的颜色默认继承color的颜色
.add {
color:#333;
transition:color .25s;
border:1px solid;
}
.add:before {
border-top:10px solid;
}
.add:after {
border-left:10px solid;
}
.add:hover {
color:#06c;
}
# 三角形
各种斜的三角等,写上相应的部分transparent即可,当宽高不是0的时候实际上是梯形,实际使用的时候最好使用 before和after等伪元素来插入一个节点,可减少html结构
.triangle {
width:0px;
height:0px;
border:100px solid;
border-color:red green black yellow;
}
# 提交中点点点效果
<a href="javascript:" class="grebtn">订单提交中<span class="dotting"></span></a>
.dotting {
display: inline-block; width: 10px; min-height: 2px;
padding-right: 2px;
border-left: 2px solid currentColor; border-right: 2px solid currentColor;
background-color: currentColor; background-clip: content-box;
box-sizing: border-box;
-webkit-animation: dot 4s infinite step-start both;
animation: dot 4s infinite step-start both;
*zoom: expression(this.innerHTML = '...'); /* IE7 */
}
.dotting:before { content: '...'; } /* IE8 */
.dotting::before { content: ''; }
:root .dotting { margin-left: 2px; padding-left: 2px; } /* IE9+ */
@-webkit-keyframes dot {
25% { border-color: transparent; background-color: transparent; }
50% { border-right-color: transparent; background-color: transparent; }
75% { border-right-color: transparent; }
}
@keyframes dot {
25% { border-color: transparent; background-color: transparent; }
50% { border-right-color: transparent; background-color: transparent; }
75% { border-right-color: transparent; }
}
← TypeScript Node →