(1)CSS3选择器(基本、属性、伪类具体见下)
(2)CSS3边框与圆角css
圆角border-radius 属性:border-top-left-radius 左上角 border-top-right-radius 右上角 border-bottom-right-radius 右下角 border-bottom-left-radius 左下角
(3)CSS3背景与渐变html
能够设置多个背景图片,图片大小,位置
线性渐变 background: linear-gradient(direction, color-stop1, color-stop2, ...); direction也能够换成edge 径向渐变 background: radial-gradient(center, shape size, start-color, ..., last-color);
(4)CSS3过渡node
(5)CSS3变换
2D变换
3D变换
兼容性了解一下
(6)CSS3动画
在style中给动画一个名字,就是规定动画,使用@keyframescss3
这篇文章写的比较有条理,看完能够知道大概,可是每一个特性具体如何使用,还须要再找资料深刻的看web
这篇文章总结的很好,没错没错,就是我写的啦o(////▽////)q,凑表要脸segmentfault
一方面是在父容器的几个属性,另外一些就是子元素的属性
容器:浏览器
flex-direction 子元素排列方向 flex-wrap 若是一条轴线排不下,如何换行 flex-flow flex-direction属性和flex-wrap属性的简写形式 justify-content 在主轴上的对齐方式 align-items 在交叉轴上如何对齐 align-content 多根轴线的对齐方式
设置在具体的每一项上:sass
order 排列顺序。数值越小,排列越靠前,默认为0 flex-grow 项目的放大比例,默认为0,即若是存在剩余空间,也不放大 flex-shrink 缩小比例,默认为1,即若是空间不足,该项目将缩小 flex-basis 在分配多余空间以前,项目占据的主轴空间(main size) flex flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto align-self 容许单个项目有与其余项目不同的对齐方式,可覆盖align-items属性
菜鸟教程上的就写很好,简单易懂
这篇讲的很全,包括实际例子,还包括布局less
预处理器:在写css的时候,为了兼容各类浏览器,咱们每每须要写不少代码,css预处理器就是为了解决这一问题的,最经常使用的预处理器有sass、less和styulside
CSS有具体如下几个缺点:
可是,CSS预处理器也不是万金油,CSS的好处在于简便、随时随地被使用和调试。预编译CSS步骤的加入,让咱们开发工做流中多了一个环节,调试也变得更麻烦了。更大的问题在于,预编译很容易形成后代选择器的滥用。因此咱们在实际项目中衡量预编译方案时,仍是得想一想,比起带来的额外维护开销,CSS预处理器有没有解决更大的麻烦。
Sass
@mixin left($value: 10px) { float: left; margin-left: $value; } div { @include left(66px); }
less和sass的区别,less简单,sass强大
less和sass也常常会问到
sass的使用方法
空格(后代选择器,能够是爷孙)/>(子元素选择器)/+(手拉手,相邻兄弟选择器)/~(通用兄弟选择器)/,(群组选择器)
动态伪类::hover”,":active"和":focus" :first-child选择某个元素的第一个子元素; :last-child选择某个元素的最后一个子元素; :nth-child()选择某个元素的一个或多个特定的子元素; :nth-last-child()选择某个元素的一个或多个特定的子元素,从这个元素的最后一个子元素开始算; :nth-of-type()选择指定的元素; :nth-last-of-type()选择指定的元素,从元素的最后一个开始计算; :first-of-type选择一个上级元素下的第一个同类子元素; :last-of-type选择一个上级元素的最后一个同类子元素; :only-child选择的元素是它的父元素的惟一一个了元素; :only-of-type选择一个元素是它的上级元素的惟一一个相同类型的子元素; :empty选择的元素里面没有任何内容。 否认:not 伪元素: ::first-line,:first-letter,:before,:after;
content-box和border-box:content-box(w3c)的width和height不包含border和padding,padding不是marginborder-box包含(ie)。默认是content-box
在网页的顶部加上 doctype 声明。假如不加 doctype 声明,那么各个浏览器会根据本身的行为去理解网页,即 ie 浏览器会采用 ie 盒子模型去解释你的盒子,而 ff 会采用标准 w3c 盒子模型解释你的盒子,因此网页在不一样的浏览器中就显示的不同了。反之,假如加上了 doctype 声明,那么全部浏览器都会采用标准 w3c 盒子模型去解释你的盒子,网页就能在各个浏览器中显示一致了。
行元素:a、span、strong、input 、label 块元素:div、p、h1到h6,table、td、tr、ul、li
display:inline-block展现为块级元素但又不独占一行
行元素的特色:(img和input能够设置宽高)
设置宽度width 无效。 设置高度height 无效,能够经过line-height来设置。 设置margin 只有左右margin有效,上下无效。 设置padding 只有左右padding有效,上下则无效。注意元素范围是增大了,可是对元素周围的内容是没影响的。
为什么img,input内联元素能够设置宽和高?
img和input属于行内替换元素
若是上一篇没看懂,来看这一篇
实现自适应的其余方法 百分比 rem
@media如何使用
其中2倍那个没有看懂
常见的浏览器及内核:
浏览器css前缀:
transform:rotate(7deg); // 统一标识语句
css的兼容性:
js的(经常使用):