CSS与CSS3基础知识(三)——盒子模型的边框属性

        CSS 英文全称为Cascading Style Sheet,中文译为“层叠样式表”。CSS以 HTML为基础,提供了丰富的功能,如字体、颜色、背景的控制及整体排版等,而且可以针对不同的浏览器设置不同的样式。在CSS与CSS3基础知识(一)(点击可复习)中学习了字体样式属性,在CSS与CSS3基础知识(二)(点击可复习)中学习了CSS的文本外观属性,现在一起学习盒子模型边框属性吧!

盒子模型的边框属性

1.边框样式(border-style)

基本语法格式如下: border-style: 上边 [ 右边  下边  左边 ];
在设置边框样式时既可以对四条边分别设置,也可以综合设置四条边的样式。border-style的常用属性值有四个,具体如下:  
solid:边框为单实线。dashed:边框为虚线。dotted:边框为点线。double:边框为双实线。

使用border-style属性综合设置四边样式时,必须按上 右 下 左的顺时针顺序,省略时采用值复制的原则,即一个值为四边,两个值为上下和左右,三个值为上、左右、下,四个值为上、右、下、左。

2.边框宽度(border-width)

基本语法各种如下:border-width:上边 [ 右边  下边  左边 ];

使用border-width属性综合设置四边样式时,必须按上 右 下 左的顺时针顺序,省略时采用值复制的原则,即一个值为四边,两个值为上下和左右,三个值为上、左右、下,四个值为上、右、下、左。

**想要正常显示边框宽度,前提是先设置好边框样式,否则不论边框宽度设置为多宽都不会起效果。

3.边框颜色(border-color)

基本语法格式如下:border-color:上边 [ 右边  下边  左边 ];

**CSS在原边框颜色属性( border-color)的基础上派生了4个边框颜色属性,可以分别定义边框颜色。
border-top-color(顶部边框颜色)   border-right-color(右侧边框颜色)   border-bottom-color(底部边框颜色)   border-left-color(左侧边框颜色)

结合border-style border-width border-color 举个栗子:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>盒子边框</title>
    <style type="text/css">
        .one{
            border-style:dashed solid solid solid;
            border-width: 3px 1px 3px 1px;
            border-color: #fefa01 #FF0000;
        }
        .two{
            border-style:dotted double dashed;
            border-width: 3px 1px 3px;
            border-color: #fefa01 #FF0000 #fefa01;
        }
    </style>
</head>
<body>
<p class="one">边框样式为上为虚,右下左为实<br>
               边框宽度为上3,右1,下3,左1<br>
               边框颜色为上下为黄色,左右为红色</p>
<p class="two">边框样式为上点,右左为双实,下为虚<br>
               边框宽度为上3,右1,下3,左1<br>
               边框颜色为上下为黄色,左右为红色</p>
</body>
</html>

4.综合设置边框

使用border-style、border-width、border-color 虽然可以实现丰富的边框效果,但是这种方式书写的代码烦琐,且不便于阅读,为此CSS提供了更简单的边框设置方式。其基本格式如下:border:样式宽度颜色;
上面的设置方式中,样式、宽度、颜色的顺序不分先后,可以只指定需要设置的属性,省略的部分将取默认值(样式不可省略)。

当每一侧的边框样式都不相同,或者只需单独定义某一侧的边框时,可以使用单侧边框的综合属性border-top、border-bottom、border-left或border-right进行设置。例如单独定义段落的上边框,示例代码如下:
 

p{border-top:2px solid #CCC;} /*定义上边框,各个值顺序任意*/

5.圆角边框

基本格式如下:border-radius:水平半径参数1 水平半径参数2 水平半径参数3 水平半径参数4 /垂直半径参数1 垂直半径参数2 垂直半径参数3 垂直半径参数4;
在上面的语法格式中,水平和垂直半径参数均有4个参数值,分别对应着矩形的4个圆角(每个角包含着水平和垂直半径参数)。

border-radius的属性值主要包含两个参数,即水平半径参数和垂直半径参数,参数之间用“/”隔开,参数的取值单位可以为 px(像素值)或%(百分比)。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>圆角边框</title>
    <style type="text/css">
        .three{
            border:8px solid black;
            border-radius:50px 20px 10px 70px/30px 40px 60px 80px;
            width: 300px;
            height:350px;

        }
    </style>
</head>
<body>
<img class="three" src="image/flower.JPG" alt="小红花" >
</body>

需要注意的是,border-radius属性同样遵循值复制的原则,其水平半径参数和垂直半径参数均可以设置1~4个参数值,用来表示四角圆角半径的大小,具体解释如下:
 水平半径参数和垂直半径参数设置一个参数值时,则表示四角的圆角半径均相同。                                                                                                                   水平半径参数和垂直半径参数设置两个参数值时,第一个参数值代表左上圆角半径和右下圆角半径,第二个参数值代表右上和左下圆角半径。
 水平半径参数和垂直半径参数设置3个参数值时,第一个参数值代表左上圆角半径,第二个参数值代表右上和左下圆角半径;第三个参数值代表右下圆角半径   水平半径参数和垂直半径参数设置4个参数值时,第1个参数值代表左上圆角半径,第2个参数值代表右上圆角半径,第3个参数值代表右下圆角半径,第4个   参数值代表左下圆角半径。
**需要注意的是,当应用值复制原则设置圆角边框时,如果省略“垂直半径参数”,则会默认等于“水平半径参数”的参数值。此时圆角的水平半径和垂直半径相等。例如设置4个参数值的示例代码则可以简写为:

img {border-radius:50px 30px 20px 10px;}

值得一提的是,如果想要设置例5-3中图片的圆角边框显示效果为圆形,只需将第9行代码更改为:

img{border-radius:150px;}/*设置显示效果为圆形*/

img { border-radius:50%;}/★利用%设署显示效果为圆形*/

6.图片边框 (border-image)

border-image属性是一个复合属性,内部包含 border-image-source、border-image-slice、border-image-width、border-image-outset以及border-image-repeat等属性,其基本语法格式如下:
border-image: border-image-source/ border-image-slice/ border-image-width/border-image-outset/ border-image-repeat;

举个栗子:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>图片边框</title>
    <style type="text/css">
        div {
            width: 362px;
            height: 362px;
            border-style: solid;
            border-image-source: url(image/sucai.png); /*设置边框图片路径*/
            border-image-slice: 33%;
            /*边框图像顶部、右侧、底部、左侧向内偏移量*/
            border-image-width: 40px;
            /*设置边框宽度*/
            border-image-outset: 0;
            /*设置边框图像区域超出边框量*/
            border-image-repeat: repeat;
            /*设置图片平铺方式*/
        }
    </style>
</head>
<body>
<div></div></body>
</body>
</html>

**对比边框图片素材和边框图片使用可以发现,边框图片的四角位置 (即数字1,3,7,9位置)和盒子边框四角位置的数子是吻合的,也就是说在使用border-image属性设置边框属性时会将素材分割成9个区域。在显示时,将1、3、7、9作为四角位置的图片,将2、4、6、8作为四边的图片进行平铺,如果.尺寸不够,则按照自定义的方式填充。而中间的5在切割时则被当作透明块处理。

例如,将上述代码中图片的填充方式改为“拉伸填充”,具体代码如下:

border-image-repeat:stretch;/*设置图片填充方式*/


 


 

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值