1. 新增选择器
1.1 属性选择器
可以自定义属性
[class] {}
[class="box"] {}
[name|="zh"] {}
[href^="http"] {}
[href$="com"] {}
[href*="www"] {}
|
1.2 伪元素选择器
1.3 伪类选择器
p:nth-child(2) {}
p:nth-last-child(2) {}
p:first-child {}
p:last-child {}
p:nth-of-type(2) {}
|
2. 新增样式
2.1 颜色标识
background-color: hsl(281, 100%, 50%); background-color: rgba(10, 100, 200,0.5);
|
2.2 文本效果
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
text-shadow: 10px 20px 5px hsl(120, 100%, 80%);
overflow: scroll; overflow: auto;
cursor: pointer;
outline: 0;
|
2.3 盒子效果
box-shadow: 20px 20px 20px violet;
box-sizing: border-box;
border-image: url(images/violet.jpg) 80 round;
border-color: transparent;
<button disabled></button>
|
3. 渐变过渡
3.1 渐变
background-image: linear-gradient(to top,violet,blue);
background-image: radial-gradient(ellipse,violet,blue);
background-origin: padding-box; background-origin: border-box;
background-clip: padding-box; background-clip: border-box;
|
3.2 过渡
transition-property: background-color;
transition-duration: 0.5s;
transition-delay: 1ms;
transition-timing-function: linear;
transition: background-color 0.5s 1ms linear;
-webkit-transition: ; -moz-transition: ; -o-transition: ; -ms-transition: ;
|
4. 转换
4.1 旋转
transform-origin: left top; transform: rotate(-30deg);
|
4.2 平移
transform: translate(80px,-30px);
|
4.3 缩放和拉伸
transform: scale(0.8,0.7);
|
4.4 扭曲
transform: skew(30deg,0);
|
5. 动画
动画属性需要先创建再使用
5.1 创建
animation-name: firstAnimation;
animation-duration: 5s;
animation-delay: 0; animation-timing-function: linear;
animation-iteration-count: infinite;
animation-play-state: paused;
animation: firstAnimation 4s linear infinite;
|
5.2 设置
@keyframes firstAnimation {
from {background-color: violet;}
to {background-color: blue;}
0% {background-color: violet;} 100% {background-color: hotpink;} }
|
动画属性有需求的话也需要浏览器兼容写法
6. 弹性容器
当子元素宽度和大于父元素时,不会超出父元素,子元素宽度弹性变小
display: flex;
flex-direction: row;
flex-wrap: wrap;
flex-flow: row wrap;
justify-content: space-between;
align-items: center;
|
7. 响应式布局
7.1 viewport
响应式布局:根据不同的设备展示不一样的网页布局
7.2 媒体查询
@media only screen and (max-width:700px) and (min-width:400px){
body { background-color: blue; }
|
8. less
Less 是一门 CSS 预处理语言,它扩展了 CSS 语言,增加了变量、Mixin、函数等特性,使 CSS 更易维护和扩展。
使用less前需要先安装node.js,然后通过cnpm安装less。cnpm install -g less
在本地node环境下实现
- 创建一个less文件,类似于这样
@size: 200px; @sizeHeight: 100px; @bgcolor1: red; @fontsize: 30px; h1 { width: @size; height: @sizeHeight; background-color: @bgcolor1; font-size: @fontsize; }
|
- 将预处理less文件编译成css文件
lessc style.less style.css
- 引入style.css