《HTML5权威指南》之使用边框和背景

《HTML5权威指南》之使用边框和背景

1.应用边框样式

简单的边框有三个属性:border-width,border-style和border-color,其中:

  • border-width 设置边框宽度
  • border-style 设置绘制边框使用样式
  • border-color 设置边框颜色
1.1.设置边框宽度

border-width的值可能是常规css长度值,也可能是边框绘制区域宽度的百分比。也可能是三个名称值:

值                            说明
<长度值>                       将边框长度设置为以css单位表达的长度值
<百分数>                       将边框长度值设为边框绘制区域的宽度百分数
thin                          三个名称宽度依次增加
medium
thick 
1.2.设置边框样式

border-style属性的值可以是以下中的任意一个:

值                       说明
none                    没有边框
dashed                  破折线式边框
dotted                  圆点式边框
double                  双线式边框
groove                  槽线式边框
inset                   使元素内容具有内嵌效果的边框
outset                  使元素内容具有外凸效果的边框
ridge                   脊线边框
solid                   实线边框

实际效果如图:

这里写图片描述

1.3.为一条边设置边框样式

元素的四条边可以应用不同的边框样式,这需要一些特定的属性:

属性                       说明         值
border-top-width        定义定边            跟通用属性的值一样
border-top-style        
border-top-color    
border-bottom-width     定义底边            跟通用属性值一样
border-bottom-style     
border-bottom-color 
border-left-width       定义左边            跟通用属性值一样
border-left-style
border-left-color
border-right-width      定义右边            跟通用属性值一样
border-right-style
border-right-color

例子:

<!DOCTYPE HTML>
<html>
    <head>  
        <style type="text/css">
            p {
                border-width: 5px;
                border-style: solid;
                border-color:  black;
                border-left-width: 10px;
                border-left-style: dotted;
                border-top-width: 10px;
                border-top-style: dotted;
            }
        </style>
    </head>
    <body>
        <p>one two three four five </p>
    </body>
</html>

实际效果如图:

这里写图片描述

1.4.使用边框简写属性

可以使用border的简写属性设置,可以在一行中指定宽度,样式,颜色。如下代码:
示例代码:

<style type="text/css">
    p {
        border: medium solid black;
    }
</style>
1.5.创建圆角边框

可以使用边框的radius特性创建圆角边框,说明如下:

属性                          说明                      值
border-top-left-radius      设置一个圆角              一对长度值或百分数值,百分数跟边框盒子的宽度和高度有关
border-top-right-radius 
border-bottom-right-radius
border-bottom-left-radius   
border-radius               一次设置四个角的简写属性    一对或四对长度值或百分数,由/字符分隔

只要指定了两个半径即可指定一个圆角,第一个值指定水平曲线半径,第二个值指定垂直曲线半径。
示例代码:

<style type="text/css">
    p {
        border: medium solid black;
        border-top-left-radius: 20px 15px;  
    }
</style>

用border-radius简写属性可以为边框的四个角指定一个值,或者在一个值中包含四个值。代码如下:

border-radius: 20px / 15px;
表示水平半径为20px,垂直半径为15px
border-radius: 50%  20px  25% 5em / 25%   15px  40px  55%;
表示第一组的四个值从左上角开始,顺时针定义水平半径,第二组四个值定义垂直半径。
1.6.将图像作为边框

border-image属性如下:

属性                          说明                                值
border-image-source         设置图像来源                        none或url(<图像>)
border-iamge-slice          设置切分图像的偏移                   1~4个长度值或百分数,受图像的宽度和高度的影响
border-image-width          设置图像边框的宽度                   auto或1~4个长度值或者百分数
border-image-outset         指定边框图像向外扩展的部分            1~4长度值或者百分数
border-image-repeat         设置图像填充边框区域的模式            stretch,repeat,round中的一个或者两个值
border-image                在一条声明中设置所有属性             跟单个属性值设置一样

1.切分图像
将图像作为边框的关键是切分图像,浏览器会将图像切分成9块,如果要切分图像,需要提供图像边框在四个方向上向内的偏移值,也就是提供四个值,顺序分别是水平左,水平右,垂直上,垂直下。如下是书上的一个示例图:


这里写图片描述

切分图像的示例代码:

<style type="text/css">
    p {
        <!--设置图像的边框四个方向的切分偏移值为30px,因为偏移值的单位默认是px,可以不写,之后用/字符分隔设置边框的宽度-->
        -webkit-border-image:url(<图像名>) 30 /50px;
        -moz-border-image: url(<图像名>) 30 20 40 50  / 50 20 50 30;
        -o-border-image: url(<图像名>)  30 / 50px;  
    }
</style>

2.控制图像的重复方式
默认情况下,图像作为边框,如图有一边框图像太短会被拉伸,这时我们可以改变图像的重复方式,得到不同的呈现效果。下面描述了定义重复方式的值:

值               说明
stretch         拉伸切分图像填满整个空间,默认值
repeat          平铺切分图像填满整个空间,可能导致图片被截断
round           在不截断图片的情况下,平铺切分图并拉伸以填满整个空间
space           在不截断图片的情况下,平铺切分图并在图片之间保留一定的间距以填满整个空间

2.设置元素的背景

2.1.设置背景颜色和图像

可以给元素设置背景图像和背景颜色,或者两者同时设置,示例代码如下:

<style type="text/css">
    p {
        <!--设置边框属性-->
        border: medium solid black;
        <!--设置背景颜色-->
        backgroud-color: lightgray;
        <!--设置背景图像-->
        backgroud-image: url(图像名);
        <!--设置背景图像的大小-->
        backgroud-size: 40px 40px;
        <!--设置背景图像的平铺方式,这里以水平方式平铺-->
        backgroud-repeat: repeat-x;
    }
</style>

说明:背景图像总是显示在背景颜色之上。
使用background-repeat属性可以实现怎样重复背景图像,说明如下:

属性值             说明
repeat-x            水平方向平铺图像,图像可能被截断
repeat-y            垂直方向平铺图像,图像可能被截断
repeat              水平和垂直方向同时平铺,图像可能被截断
space               水平或垂直方向平铺图像,但在图像与图像之间设置统一间距,确保图像不被截断
round               水平或者垂直方向平铺图像,但调整图像大小,确保图像不被截断
2.2.设置背景图像的尺寸

background-size属性值的设置:

属性值             说明
contain             等比例缩放图像,使图像宽度,高度中较大值与容器重合,背景图像始终包含在容器内
cover               等比例缩放图像,使图像至少覆盖容器,就是说取图像的宽度,高度较小值与容器重合,有可能超出容器
auto                默认值,图像以本身大小显示
2.3.设置背景图像的位置

如果背景图像在不平铺的时候,可以指定背景图像的位置。示例代码如下:

<style type="text/css">
    p {
        <!--设置背景图像的位置,距离左边界30px,距离顶部边界20px-->
        backgroud-position: 30px 20px;
    }
</style>

也可以指定预定义值:

值               说明
top             将背景图像定为到盒子顶部边界
left            将背景图像定位到盒子的左边界
right           将背景图像定位到盒子的右边界
bottom          将背景图像定位到盒子的底边界
center          将背景图像定位到盒子的中间
2.4.设置元素的背景附着方式

为具有视窗的元素应用背景时,可以指定背景的附着方式,textarea是常见的具有视窗的元素。可以自动添加滚动条,另一个常见的元素是body元素。
对背景附着方式的说明如下:

值                   说明
fixed               背景固定在视窗上,即内容滚动时背景不动
local               背景附着在内容上,即背景随内容一起滚动
scroll              背景固定在元素上,   不会随内容一起滚动

示例代码:

<style>
    textarea {
        ...
        backgroud-attachment:scroll;
    }
</style>
2.5.设置背景图像的开始位置和裁剪样式

背景的起始点指的是背景颜色和背景图像应用的位置,裁剪样式决定了背景颜色和图像在元素盒子中绘制的区域,下面是相关属性值的介绍:

值                           说明
border-box                  在边框盒子内部绘制背景颜色和背景图像
padding-box                 在内边距盒子内部绘制背景颜色和背景图像
content-box                 在内容盒子内部绘制背景颜色和背景图像

示例代码:

<style type="text/css">
    p {
        ...
        backgroud-origin: border-box;   
    }
</style>

说明背景图像是从边框最外边开始放置,也就是说,假设我们选择边框为双线类型,那么在双线之间背景图片也会进行填充,这时需要裁剪。
示例代码如下:

<style type="text/css">
    background-clip: content-box;
</style>

如果两者一起使用,那么就是告诉浏览器在边框盒子内部绘制背景,但是丢弃盒子之外的内容。

2.6.使用background简写属性

可以使用简写属性在声明中设置所有背景值,以下是backgroud属性值的格式,其中包括多个单独的属性:

backgroud: <backgroud-color> <backgroud-position> <backgroud-size> <backgroud-repeat> <backgroud-origin> <backgroud-clip> <backgroud-attachment>

不过,当前有些浏览器还不支持这个简写特性。

3.创建盒子阴影

通过box-shadow属性可以为盒子指定阴影,其元素组成如下:

box-shadow: hoffset voffset blur  spread   color  inset

说明如下:

值               说明
hoffset         阴影的水平偏移量,是一个长度值,正值代表向右边偏移,负值代表向左边偏移
voffset         阴影的垂直偏移量,是一个长度值,正值代表阴影位于元素盒子下方,负值代表阴影位于元素盒子上方
blur            (可选)指定模糊值,是一个长度值,值越大盒子的边界越模糊,默认值为0,边界清晰
spread          (可选)指定阴影的延伸半径,是一个长度值,正值代表阴影向盒子的各个方向延伸扩大,负值代表阴影延相反方向缩小
color           (可选)设置阴影的颜色,如果省略,浏览器会自行选择一个颜色。
inset           (可选)将外部阴影设置为内部阴影(内嵌到盒子中)。

示例代码:

<style type="text/css">
    p {
        border-box: 10px double black;
        box-shadow: 5px 4px 10px 2px gray;
    }
</style>

<style type="text/css">
    p {
        border-box: 10px double black;
        <!--同时定义了内嵌和外延的阴影-->
        box-shadow: 5px 4px 10px gray, 3px 20px 2px gray inset;
    }
</style>

4.应用轮廓

轮廓对于边框来说是可选的,轮廓最有用的地方是在于短时间抓住用户对某个元素的注意力,边框与轮廓最大的区别在于,轮廓不属于页面,因此应用轮廓不需要调整页面,下面列出轮廓的相关属性:

属性                      说明                              值
outline-color           设置外围轮廓的颜色                   <颜色>
outline-offset          设置轮廓距离元素边框边缘的偏移量       <长度>
outline-style           设置轮廓样式                         跟border-style属性值一样
outline-width           设置轮廓的宽度                       thin,medium,thick,<长度>
outline                 在一条声明中设置所有的属性            <颜色>,<样式>,<宽度>

示例代码:

<style type="text/css">
    p {
        outline: thick solid red;
    }
</style>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值