css3渐变 gradients
linear gradients 线性渐变:向上下左右,对角方向
radial gradients 径向渐变:由它的中心定义
浏览器支持:-webkit-(谷歌、safari) -moz-(火狐) -o-(欧朋) 注:标准语法必须放在最后!!!!!!!!!!
background: linear-gradient(direction, color-stop1, color-stop2, ...)
//direction: top、left、right、bottom、
对角线:left top、bottom right、……
background: linear-gradient(angle, color-stop1, color-stop2)//使用角度
//angle :-180deg——0deg——180deg
多个颜色节点:
background: -webkit-linear-gradient(red, green, blue)/* Safari 5.1 - 6.0 */ //默认平均分布
background: -webkit-linear-gradient(red 10%, green 85%, blue 90%)//不均匀分布
使用透明度:
background: -webkit-linear-gradient(left, rgba(255,0,0,0), rgba(255,0,0,1))/* Safari 5.1 - 6.0 */
重复的线性渐变:
background: -webkit-repeating-linear-gradient(red, yellow 10%, green 20%)
css3 径向渐变
background: radial-gradient(center, shape size, start-color, ..., last-color)
//shape 参数定义了形状。它可以是值 circle 或 ellipse。其中,circle 表示圆形,ellipse 表示椭圆形。默认值是 ellipse。
//size 参数定义了渐变的大小。它可以是以下四个值:
closest-side
farthest-side
closest-corner
farthest-corner //默认
重复径向渐变
background:-webkit-repeating-radial-gradient(red, yellow10%, green15%)
https://blog.csdn.net/ZNYSYS520/article/details/76053961
css3新单位vw、vh、vmin、vmax的使用详解
1vw vh vmin vmax的含义
都是相对于视窗大小来决定的,单位类似%
视窗viewport是你的浏览器实际显示内容的区域,换句话说是你的不包括工具栏和按钮的网页浏览器。
vw:视窗宽度的百分比(1vw代表视窗宽度的1%)
vh:视窗高度的百分比
vmin:当前vw和vh中较小的一个
vmax:当前vw和vh中较大的一个
2vw、vh与%百分比的区别
1、%是相对于父级元素的大小设定的比率,vw,vh是视窗大小决定的。
2、vw、vh优势在于能够直接获取高度,而使用%在没有设置body的高度的情况下,是无法正确获得可视区域的高度的,所以这是超级棒的。
3,vmin、vmax 用处
做移动页面开发时,如果使用 vw、wh 设置字体大小(比如 5vw),在竖屏和横屏状态下显示的字体大小是不一样的。
由于 vmin 和 vmax 是当前较小的 vw 和 vh 和当前较大的 vw 和 vh。这里就可以用到 vmin 和 vmax。使得文字大小在横竖屏下保持一致。
4,浏览器兼容性
(1)桌面 PC
Chrome:自 26 版起就完美支持(2013年2月)
Firefox:自 19 版起就完美支持(2013年1月)
Safari:自 6.1 版起就完美支持(2013年10月)
Opera:自 15 版起就完美支持(2013年7月)
IE:自 IE10 起(包括 Edge)到现在还只是部分支持(不支持 vmax,同时 vm 代替 vmin)
(2)移动设备
Android:自 4.4 版起就完美支持(2013年12月)
iOS:自 iOS8 版起就完美支持(2014年9月)
justify-content
http://www.runoob.com/cssref/css3-pr-justify-content.html
justify-content用于设置或检索弹性盒子元素在主轴(横轴)方向上的对齐方式。
提示:使用align-content属性对齐交叉轴上的各项(垂直)。
justify-content:flex-start | flex-end | center |space-between | space-around | inital | inherit
属性值:
flex-start:默认值。项目位于容器的开头。
flex-end:项目位于容器的结尾。
center:项目位于容器的中心。
space-between:项目位于各行之间留有空白的容器内。
space-around:项目位于各行之前、之间、之后都留有空白的容器内。
initial:设置该属性为它的默认值。
inherit:从父元素继承该属性。
align-items:
http://www.runoob.com/cssref/css3-pr-align-items.html
align-items:属性定义flex子项在flex容器的当前行的侧轴(纵轴)方向上的对齐方式。
align-items:stretch | center | flex-start | flex-end | baseline | initial | inherit
stretch : 默认值。元素被拉伸以适应容器。子元素会被拉伸到父元素的高度。
center:元素位于容器的中心。
flex-start:元素位于容器的开头。
flex-end:元素位于容器的结尾。
baseline:元素位于容器的基线上。
如弹性盒子元素的行内轴与侧轴为同一条,则该值与"flex-start"等效。其它情况下,该值将与基线对齐。
css基线和行高:https://blog.csdn.net/it_queen/article/details/54729949
https://www.cnblogs.com/couxiaozi1983/p/3905073.html
CSS align-content 属性
align-content属性在弹性容器内的各项没有占用交叉轴上所有可用的空间时对齐容器内的各项。
align-content:stretch | center | flex-start | flex-end | space-between | space-around | initial | inherit
stretch: 默认值。元素被拉伸以适应容器。
各行将会伸展以占用剩余的空间。如果剩余的空间是负数,该值等效于“flex-start”。在其它情况下,剩余空间被所有行平分,以扩大它们的侧轴尺寸。
center:元素位于容器的中心。
flex-start: 元素位于容器的开头。
flex-end:元素位于容器的结尾。
space-between:元素位于各行之间留有空白的容器内。
space-around:元素位于各行之前、之间、之后都留有空白的容器内。
initial:设置该属性为它的默认值。
inherit:从父元素继承该属性。
css align-self属性
align-self属性定义flex子项单独在侧轴(纵轴)方向上的对齐方式。
注意:align-self属性可重写灵活容器的align-items属性。
align-self:auto | stretch | center | flex-start | flex-end | baseline | initial | inherit
auto: 默认值。元素继承了它的父容器的align-items属性。如果没有父容器则为“stretch”
stretch:元素被拉伸以适应容器。
center:元素位于容器的中心。
flex-start:元素位于容器的开头。
flex-end:元素位于容器的结尾。
baseline:元素位于容器的基线上。
initial:设置该属性为它的默认值。
inherit:从父元素继承该属性。
css animation 动画属性
使用简写属性把animation绑定到一个
元素。
div{
animation:mymove 5s infinite
-webkit-animation:mymove 5s infinite
}
animation: name duration timing-function delay iteration-count direction fill-mode play-state
animation-name:指定要绑定到选择器的关键帧的名称。
animation-duration:动画指定需要多少秒或毫秒完成。
animation-timing-function:设置动画将如何完成一个周期。
linear:动画从头到尾的速度是相同的。
ease:默认。动画以低速开始,然后加快,在结束前变慢。
ease-in:动画以低速开始。
ease-out:动画以低速结束。
ease-in-out:动画以低速开始和结束。
cubic-bezier(n,n,n,n):在cublic-bezier函数中自己的值。可能的值是从0到1的数值。贝兹曲线 https://www.cnblogs.com/fydxx/p/6118734.html
animation-delay:设置动画在启动前的延迟间隔。 负值:-2s请注意动画将跳过2秒进入动画周期。
animation-iteration-count :定义动画的播放次数。
n: 一个数字,定义应该播放多少次动画。
infinite:指定动画应该播放无限次(永远);
animation-direction:指定是否应该轮流反向播放动画。
normal:默认值。动画按正常播放。
reverse:动画反向播放。
alternate:动画在奇数次(1、3、5……)正向播放,在偶数次(2、4、6、……)反向播放。
alternate-reverse:动画在奇数次(1、3、5……)反向播放,在偶数次(2、4、6……)正向播放。
initial:设置该属性为它的默认值。
inherit:从父元素继承该属性。
animation-fill-mode:规定当动画不播放时(当动画完成时,或当动画有一个延迟未开始播放时),要应用到元素的样式。
none:默认值。动画在动画执行之前和之后不会应用任何样式到目标元素。
forwards:在动画结束后(由animation-iteration-count决定),动画将应用该属性值。//动画结束后,将保持最终结束的样式。
backwards:动画将应用在animation-delay定义期间启动动画的第一次迭代的关键帧中定义的属性值。这些都是from关键帧中的值(当animation-direction为“normal”或“alternate”时)或to关键帧中的值
(当 animation-direction为“reverse”或“alternate-reverse”时)。
both:动画遵循forwards和background的规则。也就是说,动画会在两个地方上扩展动画属性。
initial:设置该属性为它的默认值。
inherit:从父元素继承该属性。
animation-play-state:指定动画是否正在运行或已暂停。
animation-play-state: paused | running
paused:指定暂停动画。
running:指定正在运行的动画。
initial:设置属性为其默认值。
inherit:从父元素继承属性。
css3 transform属性
http://www.runoob.com/cssref/css3-pr-transform.html
transform属性应用于元素的2D或3D转换。这个属性允许你将元素旋转、缩放、移动、倾斜等。
transform:none | transform-functions
none:定义不进行转换。
matrix(n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n) 定义3D转换,使用16个值的4*4矩阵。
translate(x,y) 定义2D转换。
translate3d(x,y,z) 定义3D转换。
translateX(x):定义转换,只是用X轴的值。
translateY(y):定义转换,只是用Y轴的值。
translateZ(z):定义3D转换,只是用Z轴的值。
scale(x【,y】?)定义2D缩放转换。
scale3d(x,y,z)定义3d缩放转换。
scaleX(x)通过设置X轴的值来定义缩放转换
………………………………还有很多
css calc()函数
calc()函数用于动态计算长度值。
需要注意的是,运算符前后都需要保留一个空格,例如:width:calc(100% - 10px)
任何长度值都可以使用calc()函数进行计算。
calc()背景颜色径向渐变
css3渐变 gradients
linear gradients 线性渐变:向上下左右,对角方向
radial gradients 径向渐变:由它的中心定义
浏览器支持:-webkit-(谷歌、safari) -moz-(火狐) -o-(欧朋) 注:标准语法必须放在最后!!!!!!!!!!
background: linear-gradient(direction, color-stop1, color-stop2, ...)
//direction: top、left、right、bottom、
对角线:left top、bottom right、……
background: linear-gradient(angle, color-stop1, color-stop2)//使用角度
//angle :-180deg——0deg——180deg
多个颜色节点:
background: -webkit-linear-gradient(red, green, blue)/* Safari 5.1 - 6.0 */ //默认平均分布
background: -webkit-linear-gradient(red 10%, green 85%, blue 90%)//不均匀分布
使用透明度:
background: -webkit-linear-gradient(left, rgba(255,0,0,0), rgba(255,0,0,1))/* Safari 5.1 - 6.0 */
重复的线性渐变:
background: -webkit-repeating-linear-gradient(red, yellow 10%, green 20%)
css3 径向渐变
background: radial-gradient(center, shape size, start-color, ..., last-color)
//shape 参数定义了形状。它可以是值 circle 或 ellipse。其中,circle 表示圆形,ellipse 表示椭圆形。默认值是 ellipse。
//size 参数定义了渐变的大小。它可以是以下四个值:
closest-side
farthest-side
closest-corner
farthest-corner //默认
重复径向渐变
background:-webkit-repeating-radial-gradient(red, yellow10%, green15%)
https://blog.csdn.net/ZNYSYS520/article/details/76053961
css3新单位vw、vh、vmin、vmax的使用详解
1vw vh vmin vmax的含义
都是相对于视窗大小来决定的,单位类似%
视窗viewport是你的浏览器实际显示内容的区域,换句话说是你的不包括工具栏和按钮的网页浏览器。
vw:视窗宽度的百分比(1vw代表视窗宽度的1%)
vh:视窗高度的百分比
vmin:当前vw和vh中较小的一个
vmax:当前vw和vh中较大的一个
2vw、vh与%百分比的区别
1、%是相对于父级元素的大小设定的比率,vw,vh是视窗大小决定的。
2、vw、vh优势在于能够直接获取高度,而使用%在没有设置body的高度的情况下,是无法正确获得可视区域的高度的,所以这是超级棒的。
3,vmin、vmax 用处
做移动页面开发时,如果使用 vw、wh 设置字体大小(比如 5vw),在竖屏和横屏状态下显示的字体大小是不一样的。
由于 vmin 和 vmax 是当前较小的 vw 和 vh 和当前较大的 vw 和 vh。这里就可以用到 vmin 和 vmax。使得文字大小在横竖屏下保持一致。
4,浏览器兼容性
(1)桌面 PC
Chrome:自 26 版起就完美支持(2013年2月)
Firefox:自 19 版起就完美支持(2013年1月)
Safari:自 6.1 版起就完美支持(2013年10月)
Opera:自 15 版起就完美支持(2013年7月)
IE:自 IE10 起(包括 Edge)到现在还只是部分支持(不支持 vmax,同时 vm 代替 vmin)
(2)移动设备
Android:自 4.4 版起就完美支持(2013年12月)
iOS:自 iOS8 版起就完美支持(2014年9月)
justify-content
http://www.runoob.com/cssref/css3-pr-justify-content.html
justify-content用于设置或检索弹性盒子元素在主轴(横轴)方向上的对齐方式。
提示:使用align-content属性对齐交叉轴上的各项(垂直)。
justify-content:flex-start | flex-end | center |space-between | space-around | inital | inherit
属性值:
flex-start:默认值。项目位于容器的开头。
flex-end:项目位于容器的结尾。
center:项目位于容器的中心。
space-between:项目位于各行之间留有空白的容器内。
space-around:项目位于各行之前、之间、之后都留有空白的容器内。
initial:设置该属性为它的默认值。
inherit:从父元素继承该属性。
align-items:
http://www.runoob.com/cssref/css3-pr-align-items.html
align-items:属性定义flex子项在flex容器的当前行的侧轴(纵轴)方向上的对齐方式。
align-items:stretch | center | flex-start | flex-end | baseline | initial | inherit
stretch : 默认值。元素被拉伸以适应容器。子元素会被拉伸到父元素的高度。
center:元素位于容器的中心。
flex-start:元素位于容器的开头。
flex-end:元素位于容器的结尾。
baseline:元素位于容器的基线上。
如弹性盒子元素的行内轴与侧轴为同一条,则该值与"flex-start"等效。其它情况下,该值将与基线对齐。
css基线和行高:https://blog.csdn.net/it_queen/article/details/54729949
https://www.cnblogs.com/couxiaozi1983/p/3905073.html
CSS align-content 属性
align-content属性在弹性容器内的各项没有占用交叉轴上所有可用的空间时对齐容器内的各项。
align-content:stretch | center | flex-start | flex-end | space-between | space-around | initial | inherit
stretch: 默认值。元素被拉伸以适应容器。
各行将会伸展以占用剩余的空间。如果剩余的空间是负数,该值等效于“flex-start”。在其它情况下,剩余空间被所有行平分,以扩大它们的侧轴尺寸。
center:元素位于容器的中心。
flex-start: 元素位于容器的开头。
flex-end:元素位于容器的结尾。
space-between:元素位于各行之间留有空白的容器内。
space-around:元素位于各行之前、之间、之后都留有空白的容器内。
initial:设置该属性为它的默认值。
inherit:从父元素继承该属性。
css align-self属性
align-self属性定义flex子项单独在侧轴(纵轴)方向上的对齐方式。
注意:align-self属性可重写灵活容器的align-items属性。
align-self:auto | stretch | center | flex-start | flex-end | baseline | initial | inherit
auto: 默认值。元素继承了它的父容器的align-items属性。如果没有父容器则为“stretch”
stretch:元素被拉伸以适应容器。
center:元素位于容器的中心。
flex-start:元素位于容器的开头。
flex-end:元素位于容器的结尾。
baseline:元素位于容器的基线上。
initial:设置该属性为它的默认值。
inherit:从父元素继承该属性。
css animation 动画属性
使用简写属性把animation绑定到一个
元素。
div{
animation:mymove 5s infinite
-webkit-animation:mymove 5s infinite
}
animation: name duration timing-function delay iteration-count direction fill-mode play-state
animation-name:指定要绑定到选择器的关键帧的名称。
animation-duration:动画指定需要多少秒或毫秒完成。
animation-timing-function:设置动画将如何完成一个周期。
linear:动画从头到尾的速度是相同的。
ease:默认。动画以低速开始,然后加快,在结束前变慢。
ease-in:动画以低速开始。
ease-out:动画以低速结束。
ease-in-out:动画以低速开始和结束。
cubic-bezier(n,n,n,n):在cublic-bezier函数中自己的值。可能的值是从0到1的数值。贝兹曲线 https://www.cnblogs.com/fydxx/p/6118734.html
animation-delay:设置动画在启动前的延迟间隔。 负值:-2s请注意动画将跳过2秒进入动画周期。
animation-iteration-count :定义动画的播放次数。
n: 一个数字,定义应该播放多少次动画。
infinite:指定动画应该播放无限次(永远);
animation-direction:指定是否应该轮流反向播放动画。
normal:默认值。动画按正常播放。
reverse:动画反向播放。
alternate:动画在奇数次(1、3、5……)正向播放,在偶数次(2、4、6、……)反向播放。
alternate-reverse:动画在奇数次(1、3、5……)反向播放,在偶数次(2、4、6……)正向播放。
initial:设置该属性为它的默认值。
inherit:从父元素继承该属性。
animation-fill-mode:规定当动画不播放时(当动画完成时,或当动画有一个延迟未开始播放时),要应用到元素的样式。
none:默认值。动画在动画执行之前和之后不会应用任何样式到目标元素。
forwards:在动画结束后(由animation-iteration-count决定),动画将应用该属性值。//动画结束后,将保持最终结束的样式。
backwards:动画将应用在animation-delay定义期间启动动画的第一次迭代的关键帧中定义的属性值。这些都是from关键帧中的值(当animation-direction为“normal”或“alternate”时)或to关键帧中的值
(当 animation-direction为“reverse”或“alternate-reverse”时)。
both:动画遵循forwards和background的规则。也就是说,动画会在两个地方上扩展动画属性。
initial:设置该属性为它的默认值。
inherit:从父元素继承该属性。
animation-play-state:指定动画是否正在运行或已暂停。
animation-play-state: paused | running
paused:指定暂停动画。
running:指定正在运行的动画。
initial:设置属性为其默认值。
inherit:从父元素继承属性。
css3 transform属性
http://www.runoob.com/cssref/css3-pr-transform.html
transform属性应用于元素的2D或3D转换。这个属性允许你将元素旋转、缩放、移动、倾斜等。
transform:none | transform-functions
none:定义不进行转换。
matrix(n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n) 定义3D转换,使用16个值的4*4矩阵。
translate(x,y) 定义2D转换。
translate3d(x,y,z) 定义3D转换。
translateX(x):定义转换,只是用X轴的值。
translateY(y):定义转换,只是用Y轴的值。
translateZ(z):定义3D转换,只是用Z轴的值。
scale(x【,y】?)定义2D缩放转换。
scale3d(x,y,z)定义3d缩放转换。
scaleX(x)通过设置X轴的值来定义缩放转换
………………………………还有很多
css calc()函数
calc()函数用于动态计算长度值。
需要注意的是,运算符前后都需要保留一个空格,例如:width:calc(100% - 10px)
任何长度值都可以使用calc()函数进行计算。
calc()函数支持+、-、*、/运算。
calc()函数使用标准的数字运算优先级规则。
calc(expression)expression必须,一个数字表达式,结果将采用运算后的返回值。函数支持+、-、*、/运算。
calc()函数使用标准的数字运算优先级规则。
calc(expression)expression必须,一个数字表达式,结果将采用运算后的返回值。
使用过CSS3属性的同学都知道,CSS3属性都需要带各浏览器的前缀,甚至到现在,依然还有很多属性需要带前缀。这是为什么呢?我的理解是,浏览器厂商以前就一直在实施CSS3,但它还未成为真正的标准。为此,当一些CSS3样式语法还存在波动时,它们提供针对流星器的前缀。现在主要流行的浏览器内核主要有:
Trident内核: 主要代表为IE浏览器
Gecko内核: 主要代表为Firefox
Presto内核: 主要代表为Opera
Webkit内核: 产要代表为Chrome和Safari
而这些不同内核的浏览器,CSS3属性(部分需要添加前缀的属性)对应需要添加不同的前缀,也将其称之为浏览器的私有前缀,添加上私有前缀之后的CSS3属性可以说是对应浏览器的私有属性:
Trident内核: 前缀为 -ms
Gecko内核: 前缀为 -moz
Presto内核: 前缀为 -o
Webkit内核: 前缀为 -webkit
来看一个简单的示例,早期写一个圆角 border-radius ,需要这样写:
.box { -moz-border-radius: 5px -webkit-border-radius: 5px -o-border-radius: 5px border-radius: 5px}这样编写代码,无形之中给前端人员增加了不少工作量,于是开始有人在讨论这个问题“如何在编写CSS时不需要添加浏览器的私有前缀,又能让浏览器识别?”
-prefix-free
为了解决手工书写前缀的问题,最早的一个解决方案是由 Lea Verou 提供的一个 -prefix-free脚本。你只需要在你的 .html 文件中插入一个 prefixfree.js 文件(可以是文档任何地方),建议把这个脚本文件放在样式表之后。
添加这个脚本之后,使用CSS3的属性时,只需书写标准样式即可。但是这种做法将所有压力交给了客户端来处理。如此一来页面解析压力就大了,性能会打一定的折扣,并且一旦脚本加载失败,那么就会出现浏览器无法正常渲染CSS3的样式风格。
现在很多小伙伴喜欢在互联网上找视频资料学习网页制作,但是光看视频你是不可能学会网页制作的,没有人指导你,而且很多视频已经过时了 并没有什么用! 如果你真的想学习网页制作这门技术,你可以来这个群,前面是573,中间是82〇,最后是49〇, 在这里有最新的HTML课程 免费学习 也有很多人指导你 进步 不需要你付出什么 只要你有一颗学习的心就可以了 不是愿意学习或者自认不需要学习的就不要加了。
prefixfree脚本仅在IE9+、Opera10+、Firefox3.5+、Safari4+得到支持。
编辑器插件
除了prefixfree脚本之外,很多同学依赖于文本编辑器的插件来处理。这里来看看Sublime Text编辑器里是如何实现Autoprefixer功能的。
要在编辑器中安装 Autoprefixer 插件,首先需要你的环境中已经安装好了 Node.js 。你可以在命令终端执行:
node -v来检测是否已安装,如果没有安装,请先安装。在这里假设你已具备Node.js环境。
现在开启你的Sublime Text编辑器,你可以同时按下 command + Shift + p 三个键,选择"Install Package"。然后搜索 Autoprefixer 。
现在你在你的Sublime Text中使用Autoprefixer功能。假设你在样式文件中输入:
.box { transform: rotate(45deg) border-radius: 5px box-shadow: 1px 1px 0 rgba(0,0,0,.25) transition: all .2s ease .1s}这个时候你只需要同时按下 Command + Shift + P 三个键,选择“Autoprefix CSS”,并且回车,就能得到下面这样的代码:
.box { -webkit-transform: rotate(45deg) transform: rotate(45deg) border-radius: 5px box-shadow: 1px 1px 0 rgba(0,0,0,.25) transition: all .2s ease .1s}如下图所示:
注:不同的配置,执行的效果不一样。详细可以点击 这里 查阅。
预处理器中的混合宏
随着CSS预处理器越来越普及,部分同学开始采用预处理器中的混合宏来处理CSS3前缀的事项。比如说 Compass ,里面就是使用Sass的mixin为CSS3需要带前缀的属性定制了一些mixin。还有类似于Stylus中的 nib 等。预处理器中的混合宏确实可以解决很多问题,但也产生了新的问题,就是它所使用的语法是全新的,如果要使用就必须重新学习,另外这类工具的演进速度通常都会跟不上浏览器的发展速度,这样也会造成其产生的CSS有过时的问题,有时候为了解决一些问题,还需要自己去写 mixins 。比如:
正如前面所说的,如果要跟上浏览器的演进,就需要不断的更新你的CSS3 mixins,不然就会造成你的代码不是最新的。其中Compass就存在这样的问题:
@import "compass".box { @include border-radius(5px)}编译出来的CSS:
.box { -moz-border-radius: 5px -webkit-border-radius: 5px border-radius: 5px}而现实却不尽人意,因为到写这篇文章为止,我们写圆角属性只需要:
.box { border-radius: 5px}各主流浏览器就能正常的解析。造成这个原因的时,Compass中的CSS3的mixin没有跟上步子去更新定义好的mixins
CSS3的属性为什么要带前缀
使用过CSS3属性的同学都知道,CSS3属性都需要带各浏览器的前缀,甚至到现在,依然还有很多属性需要带前缀。这是为什么呢?我的理解是,浏览器厂商以前就一直在实施CSS3,但它还未成为真正的标准。为此,当一些CSS3样式语法还存在波动时,它们提供针对流星器的前缀。
现在主要流行的浏览器内核主要有:
Trident内核主要代表为IE浏览器
Gecko内核:主要代表为Firefox
Presto内核:主要代表为Opera
Webkit内核:产要代表为Chrome和Safari
而这些不同内核的浏览器,CSS3属性(部分需要添加前缀的属性)对应需要添加不同的前缀,也将其称之为浏览器的私有前缀,添加上私有前缀之后的CSS3属性可以说是对应浏览器的私有属性:
Trident内核:前缀为-ms
Gecko内核:前缀为-moz
Presto内核:前缀为-o
Webkit内核:前缀为-webkit
-moz代表firefox浏览器私有属性
-ms代表IE浏览器私有属性
-webkit代表chrome、safari私有属性
来看一个简单的示例,早期写一个圆角border-radius,需要这样写: