CSS3新特性

常说,要认识一个人①,大概了解一下背景,然后见面时打招呼讲什么语言规矩范礼②,她回应了,声音很好听,你会继续选择③用选择什么语气对待?而且又怎么漂亮,相信自己不会拒绝④的,来预先处理⑤好情绪,好让彼此能有一个新的开始⑥,给生活一个甜美的谜底吧⑦”--晚安,EmilyChen!

(一)CSS简介
CSS(Casadaing Style Sheet)层叠样式表,她的使命是把结构和表现分离,让HTML文件变小,提高加载速度,提升用户体验。

(二)语法及其规范

【1】语法

  • 外联样式表
  • 内部样式表
  • 行内元素表<style="color:red;"

【2】规矩

  • 层叠性(样式冲突即后来居上,“长江后浪推前浪,前浪死在沙滩上”)
  • 继承性(子承父业,“龙生龙凤生凤,老鼠生的小孩会打洞”)
  • 优先级(选择器权重计算的数位之间没有进制,比如“10个a赶上一个类”的说法不存在)
地位 身份
0 继承、*
1 元素、伪元素
10 类、伪类、属性
100 id
1000 style=""行内
无穷 !important

【3】规范
Ⅰ建议遵循以下顺序:
布局定位属性:display / position / float / clear / visibility / overflow(建议 display 第一个写,毕竟关系到模式)
自身属性:width / height / margin / padding / border / background
文本属性:color / font / text-decoration / text-align / vertical-align / white- space / break-word
其他属性(CSS3):content / cursor / border-radius / box-shadow / text-shadow / background:linear-gradient …

Ⅱ其他
CSS里的属性值,单引号 ‘ ‘
类命名(banner广告、拼音、敏感词会被浏览器插件过滤,不利于SEO),单词之间使用下划线 _

(三)选择器

家族 成员
单一 通配符 *{}
元素 a {}
属性 input[type="text"] {}
.class {}
id #id {}
复合 后代 ol a
子代 ul>li
相邻兄弟 h1+p
并集 div,img
伪类 常见:hover、:focus
结构伪类:first-child、nth-of-type
伪元素::before、::after

(四)常用布局

【1】基本

三种
网格div
浮动float 清除浮动clear 父因子浮动而引起高度为0的塌陷,清除后可让父回流自动检测高度
定位position 相对relative 不脱标,边偏移后占原位置
绝对absolute 脱标,不占原位置,子绝父相
固定fixed 绝对定位的特殊,只以浏览器为父
  • float、absolute、fixed改变了display属性
  • 清除浮动有三种clear:both、clearfix:after、overflow:hidden

【2】设计
竖列、圣杯、双飞翼

(五)预处理器
less、scss、stylus、postcss

(六)CSS3新属性

六个
圆角border-radius
转换transform 2D位移 translate() 三个属性均有x,y轴; 对行内标签没效果 ; 位移后不占位置
2D旋转 rotate() 单位deg,度数为正则顺时针; 转换中心点transform-origin
2D缩放 scale() 以1为默认,数字为倍数; <1是缩小、>1放大 ;缩放后不占位置
3D同上 多了z轴, 近小远大
3D左手定则 x轴:水平向右 x右是正值;
y轴:垂直向下 y下是正值;
z轴:垂直屏幕 往外是正值
transform:rotate3d(1,0,0,45deg) 就是沿着x轴旋转 45deg
3D呈现transform-style transform-style: preserve-3d;
子元素开启立体空间,代码写给父级,但是影响的是子盒子
动画animation 动画名 持续时间 运动曲线 何时开始 播放次数 是否反向 始或终状态; 简写不含 animationplay-state
animation-play-state: puased; 暂停动画,经常和鼠标经过等其他配合使用
animation-direction : alternate 想要动画走回来 ,而不是直接跳回来
过渡transition 过渡属性 花费时间 运动曲线 何时开始; 属性:宽度高度/背景颜色/内外边距;过渡所有的属性用all
花费时间: 0.5s
运动曲线: 默认 ease (可以省略)
谁做过渡给谁加
阴影shadow 水平位置 垂直位置 模糊距离 影子大小 颜色 box-shadow: 5px 5px 3px 4px rgba(0, 0, 0, .4);
应用于文本text-shadow、盒子box-shadow
渐变gradients
  • 因为主流浏览器暂时不支持C3部分特性,需要添加浏览器研发团队的前缀
  • 如webkit、ms、moz、o,使用:-webkit-border-radius:15px;

(七)压缩的CSS

区别
min.css minify把原css文件压缩大小, 删除不必要的空格、回车、制表符
常应用于运营生产阶段
.css 注释完整,文档可读性强
常应用于试验开发阶段

CSS3新特性

上一篇:three.js 学习


下一篇:跟我一起学.NetCore之Asp.NetCore启动流程浅析