• 前端之html5和css3


    圆角,透明度,rgba

    CSS3圆角

    设置某一个角的圆角,比如设置左上角的圆角:
    border-top-left-radius:30px 60px;
    同时分别设置四个角: border-radius:30px 60px 120px 150px;
    设置四个圆角相同:
    border-radius:50%;

    rgba(新的颜色值表示法)

    1、盒子透明度表示法:opacity:0.1;filter:alpha(opacity=10)(兼容IE);
    2、rgba(0,0,0,0.1) 前三个数值表示颜色,第四个数值表示颜色的透明度

    CSS3阴影

    box-shadow:h-shadow v-shadow blur spread color inset;
    分别设置阴影:水平偏移 垂直偏移 羽化大小 扩展大小 颜色 是否内阴影

    <style type="text/css">
    .box{
    width:200px;
    height:50px;
    background-color:gold;
    /* box-shadow:10px 10px 5px 2px pink inset; */
    box-shadow:10px 10px 5px 2px pink;
    }
    </style>
    ......
    <div class="box"></div>
    
    <!-- 给盒子加上了粉红色的阴影 -->

    css3圆角示例

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>css3圆角</title>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <style>
            .box {
                width: 300px;
                height: 300px;
                background-color: aqua;
                border: 3px solid black;
                margin: 50px auto 0;
                /*border-top-left-radius: 30px 60px;  !* 椭圆形角 *!*/
                border-top-left-radius: 60px; /* 圆角 */
                border-top-right-radius: 100px; /* 圆角 */
            }
    
            .box2 {
                width: 300px;
                height: 300px;
                background-color: aqua;
                border: 3px solid black;
                margin: 50px auto 0;
                /*border-radius: 150px;*/
                border-radius: 50%;
            }
        </style>
    </head>
    <body>
    <div class="box"></div>
    <div class="box2"></div>
    </body>
    </html>
    css3圆角示例

    透明度rgba示例

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>透明度</title>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <style>
            body {
                background: url(../../images/banner01.jpg);
            }
            .box {
                width: 300px;
                height: 100px;
                background-color: black;
                font-size: 20px;
                color: white;
                text-align: center;
                line-height: 100px;
    
                /* 元素透明度的完整写法,会将背景和字体的透明度的变化 */
                opacity:0.3;
                filter:alpha(opacity=30);  /* 兼容ie */
            }
            .box2 {
                width: 300px;
                height: 100px;
                background-color: rgba(0,0,0,0.3);  /* 仅会设置背景的透明度 */
                font-size: 20px;
                color: white;
                text-align: center;
                line-height: 100px;
                margin-top: 50px;
            }
        </style>
    </head>
    <body>
    <div class="box">这是一个div标签</div>
    <div class="box2">这是一个div2标签</div>
    </body>
    </html>
    透明度rgba示例

    transition动画

    CSS3 transition动画

    1、transition-property 设置过渡的属性,比如:width height background-color
    2、transition-duration 设置过渡的时间,比如:1s 500ms
    3、transition-timing-function 设置过渡的运动方式

    linear 匀速

    • ease 开始和结束慢速
    • ease-in 开始是慢速
    • ease-out 结束时慢速
    • ease-in-out 开始和结束时慢速
    • cubic-bezier(n,n,n,n)

    比如:cubic-bezier(0.845, -0.375, 0.215, 1.335)
    曲线设置网站:https://matthewlein.com/ceaser/
    4、transition-delay 设置动画的延迟
    5、transition: property duration timing-function delay 同时设置四个属性

    一般用缓冲状态;

    鼠标移动到图形上变化动画

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>动画</title>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <style>
            .box {
                width: 100px;
                height: 100px;
                background-color: aqua;
    
                /*transition: width 1s ease;*/
                /*transition: width 1s ease 1s;  !* 延迟一秒再做动画 *!*/
                /*transition: width 1s ease, height 1s ease 1s;  !* 宽先动,高延迟一秒再动 *!*/
                /*transition: width 1s ease, height 1s ease 1s, background-color 1s ease 2s;  !* 宽先动,高延迟一秒再动 *!*/
                /*transition: width 1s ease, height 1s ease, background-color 1s ease;  !* 所有的一起动 *!*/
                transition: all 1s ease;  /* 所有的一起动,相当于上面一句 */
            }
            .box:hover {
                /* 600px;*/
                width: 600px;
                height: 500px;
                background-color: gray;
            }
        </style>
    </head>
    <body>
    <div class="box"></div>
    </body>
    </html>
    鼠标移动到图形上变化动画

    鼠标移动图片弹出说明动画

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>图片说明文字</title>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <style>
            .pic_con {
                width: 200px;
                height: 300px;
                margin: 50px auto 0;
                position: relative;
                overflow: hidden;
            }
            .pic_info {
                position: absolute;
                left: 0;
                top: 300px;
                width: 200px;
                height: 120px;
                background-color: rgba(0,0,0,0.3);
                color: white;
                transition: all 500ms ease;
            }
            .pic_con:hover .pic_info {
                top: 180px;
            }
        </style>
    </head>
    <body>
    <div class="pic_con">
        <img src="../../images/banner01.jpg" alt="产品图片">
        <div class="pic_info">
            <h3>文字标题</h3>
            <p>文字说明</p>
        </div>
    </div>
    </body>
    </html>
    鼠标移动图片弹出说明动画

    transform变换

    CSS3 transform变换
    1、translate(x,y) 设置盒子位移
    2、scale(x,y) 设置盒子缩放
    3、rotate(deg) 设置盒子旋转
    4、skew(x-angle,y-angle) 设置盒子斜切
    5、perspective 设置透视距离
    6、transform-style flat | preserve-3d 设置盒子是否按3d空间显示
    7、translateX、translateY、translateZ 设置三维移动
    8、rotateX、rotateY、rotateZ 设置三维旋转
    9、scaleX、scaleY、scaleZ 设置三维缩放
    10、tranform-origin 设置变形的中心点
    11、backface-visibility 设置盒子背面是否可见

    transform是一个静态的效果,不是做动画的;但可以和动画进行配合使用;
    其中,旋转用的比较多;

    位移,缩放,旋转,斜切示例

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>transform</title>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <style>
            .box {
                width: 200px;
                height: 200px;
                border: 3px solid black;
                margin: 50px auto 0;
                background-color: aqua;
                /* translate位移一比定位做的位移性能高,建议使用这种; */
                transform: translate(0px, 0px);
                transition: all 500ms ease;  /* 通过transition将下面hover的效果实现动画化 */
            }
            .box:hover {
                transform: translate(30px, 30px);
    
            }
    
            .box2 {
                width: 200px;
                height: 200px;
                border: 3px solid black;
                margin: 50px auto 0;
                background-color: aqua;
                transform: scale(1,1);  /* 垂直缩放 */
                transition: all 500ms ease;  /* 通过transition将下面hover的效果实现动画化 */
            }
            .box2:hover {
                transform: scale(2,2);
            }
    
            .box3 {
                width: 200px;
                height: 200px;
                border: 3px solid black;
                margin: 50px auto 0;
                background-color: aqua;
                transform: rotate(0deg);  /* 旋转 */
                transition: all 500ms ease;  /* 通过transition将下面hover的效果实现动画化 */
            }
            .box3:hover {
                transform: rotate(45deg);
            }
    
            .box4 {
                width: 200px;
                height: 200px;
                border: 3px solid black;
                margin: 50px auto 0;
                background-color: aqua;
                transform: skew(0,0);  /* 斜切,将图形倾斜 */
                transition: all 500ms ease;  /* 通过transition将下面hover的效果实现动画化 */
            }
            .box4:hover {
                transform: skew(45deg,0);
            }
        </style>
    </head>
    <body>
    <div class="box"></div>
    <div class="box2"></div>
    <div class="box3"></div>
    <div class="box4"></div>
    </body>
    </html>
    位移,缩放,旋转,斜切示例

    transform-origin变换中心示例

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>变换中心</title>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <style>
            .box01, .box02, .box03, .box04 {
                width: 200px;
                height: 200px;
                border: 2px solid black;
                background-color: aqua;
                margin: 30px;
                float: left;
                transition: all 500ms ease;
            }
    
            .box02 {transform-origin: left center}
            .box03 {transform-origin: left top}
            .box04 {transform-origin: 50px 50px}  /* 相对于第四个盒子最左上角的下面50排序,右边50px转动 */
    
            .box01:hover, .box02:hover, .box03:hover, .box04:hover {transform: rotate(90deg)}
    
        </style>
    </head>
    <body>
    <div class="box01"></div>
    <div class="box02"></div>
    <div class="box03"></div>
    <div class="box04"></div>
    </body>
    </html>
    transform-origin变换中心示例

    图片翻转示例

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title> 图片翻转示例</title>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <style>
            .box {
                width: 700px;
                height: 272px;
                border: 2px solid black;
                /*background-color: aqua;*/
                margin: 50px auto 0;
                transform-style:preserve-3d;
    
                position: relative;
            }
    
            .box img {
                position: absolute;
                left: 0;
                top: 0;
                transform: perspective(800px) rotateY(0deg);
                transition: all 1s ease;
            }
    
            .box:hover img {
                transform: perspective(800px) rotateY(180deg);
            }
    
        </style>
    </head>
    <body>
    <div class="box">
        <img src="../../images/location_bg.jpg" alt="花的图片">
    </div>
    </body>
    </html>
    图片翻转示例

    翻面动画示例

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title> 图片翻转示例</title>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <style>
            .box {
                width: 700px;
                height: 272px;
                border: 2px solid black;
                /*background-color: aqua;*/
                margin: 50px auto 0;
                transform-style:preserve-3d;
    
                position: relative;
            }
    
            .box img {
                position: absolute;
                left: 200px;
                top: 0;
                transform: perspective(800px) rotateY(0deg);
                transition: all 1s ease;
                backface-visibility: hidden;  /* 设置盒子背面不可见 */
            }
    
            .box:hover img {
                transform: perspective(800px) rotateY(180deg);
            }
    
            .box .back {
                width: 300px;
                height: 272px;
                background-color: pink;
                position: absolute;
                left: 200px;
                top: 0;
                transition: all 1s ease;
    
                font-size: 20px;
                text-align: center;
                line-height: 272px;
                transform: perspective(800px) rotateY(-180deg);
                backface-visibility: hidden;  /* 设置盒子背面不可见 */
            }
    
            .box:hover .back {
                transform: perspective(800px) rotateY(0deg);
            }
        </style>
    </head>
    <body>
    <div class="box">
        <img src="../../images/location_bg.jpg" alt="花的图片">
        <div class="back">图片的说明文字</div>
    </div>
    </body>
    </html>
    View Code

    animation动画

    CSS3 animation动画
    1、@keyframes 定义关键帧动画
    2、animation-name 动画名称
    3、animation-duration 动画时间
    4、animation-timing-function 动画曲线

    linear 匀速
    ease 开始和结束慢速
    ease-in 开始是慢速
    ease-out 结束时慢速
    ease-in-out 开始和结束时慢速
    steps 动画步数
    5、animation-delay 动画延迟
    6、animation-iteration-count 动画播放次数 n|infinite
    7、animation-direction

    normal 默认动画结束不返回
    alternate 动画结束后返回
    8、animation-play-state 动画状态

    paused 停止
    running 运动
    9、animation-fill-mode 动画前后的状态

    none 不改变默认行为
    forwards 当动画完成后,保持最后一个属性值(在最后一个关键帧中定义)
    backwards 在 animation-delay 所指定的一段时间内,在动画显示之前,应用开始属性值(在第一个关键帧中定义)
    both 向前和向后填充模式都被应用
    10、animation:name duration timing-function delay iteration-count direction;同时设置多个属性

    animation使用示例

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>animation动画</title>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <style>
            /* 定义动画 */
            @keyframes moving {
                from {
                    width: 100px;
                }
                to {
                    width: 500px;
                }
            }
            
            .box {
                width: 100px;
                height: 100px;
                background-color: aqua;
                /*animation: moving 1s ease;*/
                /*animation: moving 1s ease 1s;  !*延迟一秒*!*/
                /*animation: moving 1s ease 0s 5;  !*反复五次,可以不写延迟*!*/
                /*animation: moving 1s ease 0s 5 alternate;  !*反复五次,并且返回,来回算两次*!*/
                animation: moving 1s ease 0s infinite alternate;  /*反复无数次*/
                animation-play-state: paused;  /*默认不移动*/
            }
            .box:hover {
                /*animation-play-state: paused;  !*鼠标放在图形上停止移动,拿走继续移动*!*/
                animation-play-state: running;  /*鼠标放在图形上开始移动,拿走不移动*/
            }
        </style>
    </head>
    <body>
    <div class="box"></div>
    </body>
    </html>
    animation使用示例

    风车旋转示例

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>风车旋转</title>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <style>
            @keyframes rotating {
                from {
                    transform: rotate(0deg);
                }
                to {
                    transform: rotate(360deg);
                }
            }
    
            .cycle {
                display: block;
                width: 400px;
                height: 400px;
                margin: 50px auto 0;
                animation: rotating 1s linear infinite;
            }
        </style>
    </head>
    <body>
    <img src="./images/fengche.png" alt="风车图片" class="cycle">
    </body>
    </html>
    风车旋转示例

    风车图片

    loading动画的制作

    css3新增选择器,不用写过多的class,直接用某某下的某某的第几个即可;

    loading动画

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>等待动画</title>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <style>
            @keyframes loading {
                from {
                    transform: scale(1, 1);
                }
                to {
                    transform: scale(1, 0.5);
                }
            }
    
            .con {
                width: 300px;
                height: 158px;
                border: 2px solid black;
                margin: 50px auto 0;
            }
            .con div {
                width: 30px;
                height: 100px;
                float: left;
                background-color: aqua;
                margin: 15px;
                border-radius: 15px;
                animation: loading 500ms ease 0s infinite alternate;
            }
            
            .con div:nth-child(1) {background-color: red;}
            .con div:nth-child(2) {background-color: green; animation-delay: 200ms}
            .con div:nth-child(3) {background-color: blue; animation-delay: 400ms}
            .con div:nth-child(4) {background-color: aqua; animation-delay: 600ms}
            .con div:nth-child(5) {background-color: gray; animation-delay: 800ms}
    
            .con p {text-align: center}
        </style>
    </head>
    <body>
    <div class="con">
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <div></div>
        <p>loading...</p>
    </div>
    </body>
    </html>
    loading动画

    走路动画
    animation步数的应用-走路动画

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>走路动画</title>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <style>
            @keyframes walking {
                from {
                    left: 0;
                }
                to {
                    left: -960px;
                }
            }
    
            .box {
                width: 120px;
                height: 180px;
                border: 2px solid black;
                margin: 50px auto 0;
                overflow: hidden;
                position: relative;
            }
    
            .box img {
                position: absolute;
                left: 0;
                top: 0;
                animation: walking 1s steps(8) infinite;
            }
        </style>
    </head>
    <body>
    <div class="box">
        <img src="./images/walking.png" alt="走路图片">
    </div>
    </body>
    </html>
    走路动画示例

    走路图片


    CSS权重

    CSS权重指的是样式的优先级,有两条或多条样式作用于一个元素,权重高的那条样式对元素起作用,权重相同的,后写的样式会覆盖前面写的样式。

    权重的等级
    可以把样式的应用方式分为几个等级,按照等级来计算权重

    1、!important,加在样式属性值后,权重值为 10000
    2、内联样式,如:style=””,权重值为1000
    3、ID选择器,如:#content,权重值为100
    4、类,伪类和属性选择器,如: content、:hover 权重值为10
    5、标签选择器和伪元素选择器,如:div、p、:before 权重值为1
    6、通用选择器(*)、子选择器(>)、相邻选择器(+)、同胞选择器(~)、权重值为0;

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style type="text/css">
            
            .box{
                color:red!important;
            }
    
            /* body #content .main_content h2{
                color:blue;
            } */
            #content div.main_content h2{
                color:blue;
            } 
    
    
            #content .main_content h2{
                color:red;
            }
        </style>
    </head>
    <body>
        <div class="box" style="color:blue">这是一个div元素</div>
    
        <div id="content">
            <div class="main_content">
                <h2>这是一个h2标题</h2>
            </div>
        </div>
    
    </body>
    </html>
    css权重计算示例

    CSS3新增选择器

    1、E:nth-child(n):匹配元素类型为E且是父元素的第n个子元素

    <style type="text/css">            
        .list div:nth-child(2){
            background-color:red;
        }
    </style>
    ......
    <div class="list">
        <h2>1</h2>
        <div>2</div>
        <div>3</div>
        <div>4</div>
        <div>5</div>
    </div>
    
    <!-- 第2个子元素div匹配 -->

    2、E:nth-last-child(n):匹配元素类型为E且是父元素的倒数第n个子元素(与上一项顺序相反)
    3、E:first-child:匹配元素类型为E且是父元素的第一个子元素
    4、E:last-child:匹配元素类型为E且是父元素的最后一个子元素
    5、E:only-child:匹配元素类型为E且是父元素中唯一的子元素
    6、E:nth-of-type(n):匹配父元素的第n个类型为E的子元素
    7、E:nth-last-of-type(n):匹配父元素的倒数第n个类型为E的子元素(与上一项顺序相反)
    8、E:first-of-type:匹配父元素的第一个类型为E的子元素
    9、E:last-of-type:匹配父元素的最后一个类型为E的子元素
    10、E:only-of-type:匹配父元素中唯一子元素是E的子元素
    11、E:empty 选择一个空的元素
    12、E:enabled 可用的表单控件
    13、E:disabled 失效的表单控件
    14、E:checked 选中的checkbox
    15、E:not(s) 不包含某元素

    <style type="text/css">            
        .list div:not(:nth-child(2)){
            background-color:red;
        }
    </style>
    ......
    <div class="list">
        <h2>1</h2>
        <div>2</div>
        <div>3</div>
        <div>4</div>
        <div>5</div>
    </div>
    
    <!-- 第 3、4、5 子元素div匹配 -->

    16、E:target 对应锚点的样式

    <style type="text/css">
        h2:target{
            color:red;
        }
    </style>
    ......
    <a href="#tit01">标题一</a>
    ......
    <h2 id="tit01">标题一</h2>
    
    <!-- 点击链接,h2标题变红 -->

    17、E > F E元素下面第一层子集
    18、E ~ F E元素后面的兄弟元素
    19、E + F 紧挨着的兄弟元素

    属性选择器:
    1、E[data-attr] 含有data-attr属性的元素

    <style type="text/css">
        div[data-attr='ok']{
            color:red;
        }
    </style>
    ......
    <div data-attr="ok">这是一个div元素</div>
    
    <!-- 点击链接,h2标题变红 -->

    2、E[data-attr='ok'] 含有data-attr属性的元素且它的值为“ok”
    3、E[data-attr^='ok'] 含有data-attr属性的元素且它的值的开头含有“ok”
    4、E[data-attr$='ok'] 含有data-attr属性的元素且它的值的结尾含有“ok”
    5、E[data-attr*='ok'] 含有data-attr属性的元素且它的值中含有“ok”


    css新增选择器示例01

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style type="text/css">
    
            /*  匹配第二个类型是div子元素  */
    
            .con div:nth-child(2){
                color:red;
            }
    
            .con div:nth-child(3){
                color:pink;
            }
    
            /* 
            .list li:nth-child(1){
                background-color:red;
            }
    
            等同于下面的写法:
    
            */
    
            .list li:first-child{
                background-color:red;
            } 
    
            /* .list li:nth-child(8){
                background-color:green;
            } 
    
            等同于下面的写法:
    
            */
    
    
            .list li:last-child{
                background-color:green;
            } 
    
            /*     
                2n:偶数行;
                2n+1:奇数行;
    
             */
    
            .list2 li:nth-child(2n+1){
                background-color:gold;
            }
        </style>
    </head>
    
    <body>
        <div class="con">
            <h3>标题</h3>
            <div>这是一个div</div>
            <div>这是第二个div</div>    
        </div>
    
        <ul class="list">
            <li>1</li>
            <li>2</li>
            <li>3</li>
            <li>4</li>
            <li>5</li>
            <li>6</li>
            <li>7</li>
            <li>8</li>
        </ul>
    
        <ul class="list2">
            <li>1</li>
            <li>2</li>
            <li>3</li>
            <li>4</li>
            <li>5</li>
            <li>6</li>
            <li>7</li>
            <li>8</li>
        </ul>
    </body>
    </html>
    css新增选择器01

    css新增选择器示例02

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style type="text/css">        
            .box > div{            
                border:1px solid red;
                padding:10px;
                margin:10px;
            }
            .box2 .title2{
                color:red;
            }
            .box2 .title2 ~ p{
                color:pink
            }
            .box2 .title2 + p{
                color:gold;
            }
            .box2 .title1 + p{
                color:green;
            }
        </style>
    </head>
    <body>
        <div class="box">
            <div>
                <div>这是div里面的文字</div>
            </div>
        </div>
    
    
        <div class="box2">
            <h3 class="title1">这是标题一</h3>
            <p>这是段落一</p>
            <h3 class="title2">这是标题二</h3>
            <p>这是段落二</p>
            <p>这是段落二二</p>
            <h3>这是标题三</h3>
            <p>这是段落三</p>
        </div>
    
    </body>
    </html>
    css新增选择器示例02

    css新增选择器示例03

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style type="text/css">
            /* 匹配所有有class属性的div    */
            .con div[class]{
                background-color:gold;
                margin-bottom:10px;
            }
             /* 匹配class属性值是ok的div  */
            .con div[class="ok"]{
                background-color:pink
            }
    
            /* 匹配class属性值是“ok”开头的div  */
            .con div[class^="ok"]{
                text-indent:30px;
            }
    
            /* 匹配class属性值是“ok”结尾的div  */
            .con div[class$="ok"]{
                font-size:30px;
            }
    
            /* 匹配class属性值含有“ok”的div  */
            .con div[class*="ok"]{
                border-bottom:2px solid #000;
            }
            
        </style>
    </head>
    <body>
        <div class="con">
            <div class="ok">1</div>
            <div class="okabc">2</div>
            <div class="abcok">3</div>
            <div class="abcok123">4</div>
            <div>5</div>
        </div>
    </body>
    </html>
    css新增选择器示例03

    CSS3前缀和H5新增标签

    CSS浏览器前缀

    浏览器样式前缀
    为了让CSS3样式兼容,需要将某些样式加上浏览器前缀:

    -ms- 兼容IE浏览器
    -moz- 兼容firefox
    -o- 兼容opera
    -webkit- 兼容chrome 和 safari

    比如:

    div
    {    
        -ms-transform: rotate(30deg);        
        -webkit-transform: rotate(30deg);    
        -o-transform: rotate(30deg);        
        -moz-transform: rotate(30deg);    
        transform: rotate(30deg);
    }

    自动添加浏览器前缀
    目前的状况是,有些CSS3属性需要加前缀,有些不需要加,有些只需要加一部分,这些加前缀的工作可以交给插件来完成,比如安装: autoprefixer

    Sublime text 中安装 autoprefixer 执行 preferences/key Bindings-Users 设置快捷键 { "keys": ["ctrl+alt+x"], "command": "autoprefixer" } 通过此工具可以按照最新的前缀使用情况给样式自动加前缀。
    在写好的样式处按ctrl+alt+x即可自动添加前缀;

    h5新增标签

    HTML5新结构标签
    h5新增的主要语义化标签如下:

    1、header 页面头部、页眉
    2、nav 页面导航
    3、article 一篇文章
    4、section 文章中的章节
    5、aside 侧边栏
    6、footer 页面底部、页脚

    PC端兼容h5的新标签的方法,在页面中引入以下js文件:
    <script type="text/javascript" src="//cdn.bootcss.com/html5shiv/r29/html5.js"></script>

    h5新增标签示例

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
    </head>
    <body>
        <div class="header"></div>
    
        <header></header>
    
        <div class="menu"></div>
    
        <nav></nav>
    
        <div class="footer"></div>
        
    
        <footer></footer>
    
    </body>
    </html>

    HTML5 音频和视频

    html5增加了audio和video标签,提供了在页面上插入音频和视频的标准方法。

    audio标签
    支持格式:ogg、wav、mp3

    对应属性:
    1、autoplay 自动播放
    2、controls 显示播放器
    3、loop 循环播放
    4、preload 预加载
    5、muted 静音

    举例:

    <audio src="source/audio.mp3" autoplay controls loop preload></audio>
    
    <!-- 或者用如下方式:  -->
    
    <audio  autoplay controls loop preload>
        <source src="source/audio.mp3" type="">
        <source src="source/audio02.wav" type="">
    </audio>

    source标签的作用是提供多个媒体文件地址,如果一个地址的文件不兼容,就使用下一个地址。

    video标签
    支持格式:ogg、mp4、webM

    属性:
    1、width
    2、height
    3、Poster

    可选第三方播放器:
    1、cyberplayer
    2、tencentPlayer
    3、youkuplayer


    HTML5 新增表单控件

    新增类型:网址 邮箱 日期 时间 星期 数量 范围 电话 颜色 搜索

    <label>网址:</label><input type="url" name="" required><br><br> 
    <label>邮箱:</label><input type="email" name="" required><br><br> 
    <label>日期:</label><input type="date" name=""><br><br> 
    <label>时间:</label><input type="time" name=""><br><br> 
    <label>星期:</label><input type="week" name=""><br><br> 
    <label>数量:</label><input type="number" name=""> <br><br>
    <label>范围:</label><input type="range" name=""><br><br> 
    <label>电话:</label><input type="tel" name=""><br><br> 
    <label>颜色:</label><input type="color" name=""><br><br> 
    <label>搜索:</label><input type="search" name=""><br><br>

    新增常用表单控件属性:
    1、placeholder 设置文本框默认提示文字
    2、autofocus 自动获得焦点
    3、autocomplete 联想关键词

    h5新增表单控件属性示例

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
    </head>
    <body>
        <input type="text" name="" placeholder="搜索">
    
        <input type="text" name="" autofocus>
    </body>
    </html>
  • 相关阅读:
    2020 11 21
    2020 11 20
    2020 11 19
    2020 11 18
    2020 11 17
    2020 11 16
    2020 11 15
    2020 11 14
    2020 11 14
    第五周学习进度报告
  • 原文地址:https://www.cnblogs.com/yifchan/p/html-1-5.html
Copyright © 2020-2023  润新知