• HTML 学习笔记 CSS3 (边框)


    CSS3边框 通过CSS3边框 你能够创建远角边框 向矩形边框添加阴影 使用图片来绘制边框 。

    CSS3的边框属性 主要包含以下几种

    border-radius 边框圆角

    box-shadow 边框阴影

    border-image 用图片绘制边框

    CSS3圆角边框例子:

    在 CSS2 中添加圆角矩形需要技巧。我们必须为每个圆角使用不同的图片。
    在 CSS3 中,创建圆角是非常容易的。
    在 CSS3 中,border-radius 属性用于创建圆角

    <html>
        <head>
            <meta charset="UTF-8">
            <style type="text/css">
                #radius {
                    border: 1px solid orange;
                    text-align: center;
                    -webkit-border-radius: 8px;
                    -moz-border-radius: 8px;
                    /*还可以设置具体的某个角的属性*/
                    /*-moz-border-radius-bottomleft: ;
                    -moz-border-radius-topleft: ;
                    -moz-border-radius-topright: ;
                    -moz-border-radius-topleft: ;*/
                    border-style: ridge;
                    /*设置下边框的颜色*/
                    -webkit-border-after-color: blue;
                    /*设置上边框的颜色*/
                    -webkit-border-before-color: red;
                }
            </style>
            
        </head>
        <body>
            <div id="radius">
                为矩形设置圆角 
            </div>
        </body>
    </html>

    效果:

    CSS3阴影效果

    在CSS3中我们使用box-shadow属性来完成

    先看一下box-shadow 的语法

    E {box-shadow: <length> <length> <length>?<length>?||<color>}
    也就是:
    E {box-shadow:inset x-offset y-offset blur-radius spread-radius color}
    换句说:
    对象选择器 {box-shadow:投影方式 X轴偏移量 Y轴偏移量 阴影模糊半径 阴影扩展半径 阴影颜色}

    box-shadow属性至多有6个参数设置,他们分别取值:

    阴影类型:此参数是一个可选值 如果不设置 默认的投影方式是 外阴影 如果取唯一值 insert  就是将外阴影变成内阴影 也就是说设置阴影类型为“inset”时,其投影就是内阴影;

    x-offset 是指阴影水平偏移量其值可以是正负值可以取正负值,如果值为正值,则阴影在对象的右边,反之其值为负值时,阴影在对象的左边;

    y-offset 是指阴影的垂直偏移量 其值也可以是正负值,如果为正值,阴影在对象的底部,反之其值为负值时,阴影在对象的顶部

    阴影模糊半径:此参数是可选,,但其值只能是为正值,如果其值为0时,表示阴影不具有模糊效果,其值越大阴影的边缘就越模糊;

    阴影扩展半径:此参数可选,其值可以是正负值,如果值为正,则整个阴影都延展扩大,反之值为负值是,则缩小

    阴影颜色:此参数可选,如果不设定任何颜色时,浏览器会取默认色,但各浏览器默认色不一样,特别是在webkit内核下的safari和chrome浏览器将无色,也就是透明,建议不要省略此参数。

    浏览器 兼容

    我们这里还涉及到一个各浏览器前缀的问题,比如说Mozilla内核的-moz,webkit内核的-webkit。经测试在最新版的Firefox和Google Chrome浏览器都无需加上前缀,但在safari中还是需要前缘的,为了能兼容支持的各大浏览器,我们在书写box-shadow的格式应该这样

    //Firefox4.0-
    -moz-box-shadow: 投影方式 x轴偏移量 y轴偏移量 阴影模糊半径 阴影扩展半径 阴影颜色;
    //Safari and Google chrome10.0-
    -webkit-box-shadow: 投影方式 X轴偏移量 Y轴偏移量 阴影模糊半径 阴影扩展半径 阴影颜色;
    //Firefox4.0+ 、 Google chrome 10.0+ 、 Oprea10.5+ and IE9
    box-shadow:  投影方式 X轴偏移量 Y轴偏移量 阴影模糊半径 阴影扩展半径 阴影颜色;

    实例:

    <html>
        <head>
            <meta charset="UTF-8">
            <style type="text/css">
                .outer {
                    width: 100px;
                    height: 100px;
                    border: 1px solid #CCCCCC;
                }
                .inter {
                    width: 60px;
                    height: 60px;
                    background: burlywood;
                    margin: 10px auto;
                    -webkit-box-shadow: 50px 50px 0px green;
                    -moz-box-shadow: 50px 50px green;
                       box-shadow: 50px 50px green;
                }
            </style>
            
        </head>
        <body>
            <div class="outer">
                <div class="inter">
                </div> 
            </div>
        </body>
    </html>

    效果:

    可以看到 阴影多出来的阴影会撑破容器跑出来。标准里有一张图,描述了box-shadow的工作方式,这张图直观告诉我们如何使用box-shadow

    这张图可以告诉我们很多信息,比如说borer-radius圆角,阴影扩展、阴影模糊以及padding是如何影响对象阴影的:非零值的border-radius将会以相同的作用影响阴影的外形,但border-image不会影响对象阴影的任何外形;对象阴影同box模型的层次一样,外阴影会在对象背景之下,内阴影会在边框之下背景之上。所以整个层级就是:边框>内阴影>背景图片>背景颜色>外阴影。因为大家都知道,我们的背景图片是在背景颜色之上的。

    如果只给其中的一边设计阴影 我们可以通过调整 x轴偏移量 和 y轴的便宜量来实现

    例子:

    <html>
        <head>
            <meta charset="UTF-8">
            <style type="text/css">
                .outer {
                    width: 100px;
                    height: 100px;
                    border: 1px solid #CCCCCC;
                }
                .inter {
                    width: 60px;
                    height: 60px;
                    background: burlywood;
                    margin: 10px auto;
                    /*只设置右边框的阴影 和左边框的阴影 可以看到只调整了x轴的偏移量 同样的道理 可以设置上下边框的阴影*/
                    /*如果同时设置多个阴影 中间用逗号隔开*/
                    -webkit-box-shadow: 5px 0px 0px green , -5px 0px 0px darkgray;
                    -moz-box-shadow: 0px 0px green , -5px 0px 0px darkgray;
                       box-shadow: 5px 0px green, -5px 0px 0px darkgray;
                   }
            </style>
            
        </head>
        <body>
            <div class="outer">
                <div class="inter">
                </div> 
            </div>
        </body>
    </html>

    效果

    CSS3 边框图片

    通过CSS3的 border-image 属性 可以设置使用图片来创建边框。

    border-image 的浏览器兼容情况

    我们对CSS2中的background比较熟悉 例如 我们可能对于CSS2中的background属性比较熟悉,例如:background:url(xx.jpg) 27px no-repeat;

    指代的是图片(url(xx.jpg)),位置(27px),重复性(no-repeat)。

    border-image与此类似 border-image包括图片 剪裁位置(与background位置一样,也是数值,也支持百分值 重复性 例如:border-image:url(border.jpg) 27 repeat;

    指的就是图片(url(border.png)),剪裁位置(27),重复方式(repeat)

    实例:

    .border_image{
        400px;
        height:100px; 
        border: 1em double orange; 
        -webkit-border-image:url(../image/border.png) 27; 
        border-image:url(../image/border.png) 27;
    }
  • 相关阅读:
    css3
    ubuntu /mac 终端命令大全
    MarkDown的语法的简要规则
    向github上传一个项目
    datatable 去掉默认功能
    datatable 自定义筛选
    vuex
    es6入门教程
    datatable 指定添加排序,根据列的值来设置颜色
    在ios上块点击出现闪黑底
  • 原文地址:https://www.cnblogs.com/huanying2000/p/6206915.html
Copyright © 2020-2023  润新知