CSS3新特性

1.CSS3是CSS2.1的一个升级版,它是对CSS的一个扩展。
2.CSS3的主要新特性:
    1)选择器
    2)阴影
    3)形状转换(2D <-> 3D)
    4)变形
    5)动画(过渡动画、帧动画)
    6)边框
    7)多重背景
    8)反射
    9)文字
    10)颜色函数(rgba/hsl/hsla)
    11)滤镜(filter)
    12)弹性布局
    13)多列布局
    14)栅格布局
    15)盒模型
    16)Web字体
    17)媒体查询
 3.CSS3不是属于浏览器或同一浏览器的不同版本都支持,所以需要兼容处理,通常的做法就是加厂商前缀。
    1)主流浏览器内核(面试点)
        a)Trident: IE内核
        b)Webkit:Chrome和Safari内核
        c)Gecko:FireFox内核
        d)Blink(是Webkit的一个分支): Chrome和Opera内核

        Tips(技巧):
            目前国内的浏览器大多都是双核的(IE内核+Chrome内核)
    2)厂商前缀
        IE: -ms-
        Chrome&Safari: -webkit-
        FireFox: -moz-
        Opera: -o-

4.CSS3选择器
    丰富选择的目的:在标签中减少class和id属性的使用。
    1)属性选择器
        [属性名]
        [属性名=属性值]
        [属性名^=属性值]
        [属性名$=属性值]
        [属性名*=属性值]
    2)结构性伪类
        :first-child
        :last-child
        :nth-child(n)
        :nth-last-child(n)
        :nth-of-type(n)
        :nth-last-of-type(n)
        :only-child
        :only-of-type
        :empty
    3)目标伪类
        :target
    4)UI元素状态伪类
        :checked  (只在Opera浏览器中有效)
        :disabled
        :enabled
        :selection
    5)否定伪类
        :not()
    6)通用兄弟元素选择器
 5.CSS3文本
        1) 文本阴影(主流浏览器都支持,(IE9以上支持))
             text-shadow: 水平偏移距离 垂直偏移距离 [模糊距离] [阴影的尺寸] [颜色] [inset];
        2)文本自动换行(主流浏览器都支持)
             word-wrap: normal|break-word;
        3)单词拆分(主流浏览器都支持)
             word-break: normal|break-all|keep-all;
        4)文本拆分(所有主流浏览器都不支持)
            text-wrap: normal|none|unrestricted|suppress;
        5)文本溢出
            a)单行文本溢出(重要)
                text-overflow: clip|ellipsis|string;

                处理文字溢出样式:
                    width: px/%/em/rem...;
                    white-space: nowrap; /* 为允许折行 */
                    -ms-text-overflow: ellipsis; /* 处理IE兼容 */
                    text-overflow: ellipsis;
                    overflow: hidden;
            b)多行文本溢出(IE9以下的版本不支持,主要是谷歌支持)
                width: px/%/em/rem...;
                display: -webkit-box;
                -webkit-box-orient: vertical;
                -webkit-line-clamp: 行数;
                overflow: hidden;
6.CSS3边框
    1)圆角边框(掌握)
         border-radius: 1-4 length|% / 1-4 length|%;

         四个方位的词:top-left/top-right/bottom-left/bottom-right
    2)边框阴影(IE9以上支持)
        box-shadow: 水平偏移距离 垂直偏移距离 [模糊距离] [阴影的尺寸] [颜色] [inset];
    3)边框图片(IE11.0及以后版本支持)
        border-image:图片 向内偏移距离 宽度 图像区域超出边框的距离 重复效果;

        重复效果:round/strech/repeat
7.CSS3背景
    1)多重背景
        background: 背景色 背景图片 平铺方式 位置,背景色 背景图片 平铺方式 位置,...
    2)background-size:设定背景图像的尺寸。
        background-size: 固定长度|百分比值|cover|contain;
    3)background-origin:指定背景图像的位置区域。
        background-origin: padding-box|border-box|content-box;
    4)background-clip:设定背景的绘制区域。
        background-clip: border-box|padding-box|content-box;
    5)渐变背景
        background-image: 线性渐变|径向渐变
8.CSS3颜色函数
    1)RGBA
        rgba(r,g,b,a)
        r:红色        取值范围:0-255/0-100%
        g:绿色        取值范围:0-255/0-100%
        b:蓝色        取值范围:0-255/0-100%
        a:不透明度    取值范围:0-1的一个小数
    2)HSL
        hsl(h,s,l)
        h:色调        取值范围:0-360
        s:饱和度      取值范围:0-100%
        l:亮度        取值范围:0-100%
    3)HSLA
        hsla(h,s,l,a)
        h:色调        取值范围:0-360
        s:饱和度      取值范围:0-100%
        l:亮度        取值范围:0-100%
        a:不透明度    取值范围:0-1的一个小数
9.opacity
    调整元素的不透明度,大多数情况下用于做元素的遮罩效果。取值范围:0-1的一个小数
    IE8及8以下版本不支持opacity,处理兼容的方式,再添加一行代码来处理不透明度:
        filter:alpha(opacity=数值)    数值的范围:0-100
10.CSS3渐变
    渐变主要用来设置背景或制作三维图。
    1)线性渐变
        background: linear-gradient(方向或角度, 颜色1 百分比, 颜色2 百分比, ...);

        方向:
            to left:从右向左渐变
            to right:从左向右渐变
            to top:从下向上渐变
            to bottom:从上向下渐变
            to top left:从右下角向左上角渐变
            to top right:从左下角向右上角渐变
            to bottom left:从右上角向左下角渐变
            to bottom right:从左上角向右下角渐变
        角度:
            比如45度角,应该表示为:45deg
        颜色取值:
            1)表示颜色的单词
            2)16进制颜色
            3)表示颜色的函数(rgb()/rgba()/hsl()/hsla()...)
    2)径向渐变(沿半径方向渐变)
        background: radial-gradient(形状 渐变大小 at 位置,颜色1 百分比, ..., 颜色n 百分比);

        形状:
            ellipse:椭圆径向渐变(默认)
            circle:圆径向渐变
        渐变大小:
            farthest-corner:渐变的半径长度为从圆心到离圆心最远的角(默认)
            closest-side:渐变的半径长度为从圆心到离圆心最近的边
            closest-corner:渐变的半径长度为从圆心到离圆心最近的角
            farthest-side:渐变的半径长度为从圆心到离圆心最远的边
        位置:
            center:设置圆心在中心位置(默认)
            top:设置圆心在顶部位置
            bottom:设置圆心在底部位置
            at 圆心橫坐标 圆心纵坐标: 设定圆心的位置在指定的(橫坐标,纵坐标)处
    3)文字渐变
        background-image: 线性渐变或径向渐变;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;

11.box-sizing
    允许你以某种方式定义某些元素,以适应指定的区域。
    box-sizing: content-box/border-box (火狐和谷歌低版本需要厂商前缀)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

文哲爱学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值