元素的边框 (border) 是围绕元素内容和内边距的一条或多条线。
CSS border 属性允许你规定元素边框的 3 个方面:样式、宽度,以及颜色。
通过使用 CSS 边框属性,我们可以创建出效果出色的边框,并且可以应用于任何元素。
边框与背景
CSS 规范指出,边框绘制在“元素的背景之上”。
CSS2 指出背景只延伸到内边距,而不是边框。
CSS2.1 则进行了更正:元素的背景是内容、内边距和边框区的背景。
大多数浏览器都遵循 CSS2.1 定义,不过一些较老的浏览器可能会有不同的表现。
提示:有些边框是“间断的”(如点线边框),元素的背景会出现在边框的可见部分之间。
边框的样式
样式是边框最重要的一个方面,样式控制着边框的显示,如果没有样式,将根本没有边框。
CSS 的 border-style 属性定义了 10 个不同的非 inherit 样式,包括 none。
例如,您可以为把一幅图片的边框定义为 outset,使之看上去像是“凸起按钮”:
a:link img {border-style: outset;}
p.aside {border-style: solid dotted dashed double;}注释:为 aside 定义边框样式:实线上边框、点线右边框、虚线下边框和一个双线左边框。
p {border-style: solid solid solid none;} p {border-style: solid; border-left-style: none;}注意:如果要使用第二种方法,必须把单边属性放在简写属性之后,否则将被简写属性覆盖。
p {border-style: solid; border-width: 5px;} p {border-style: solid; border-width: thick;}
p {border-style: solid; border-width: 15px 5px 15px 5px;}上面的例子也可以简写为(这样写法称为值复制):
p {border-style: solid; border-width: 15px 5px;}您也可以通过下列属性分别设置边框各边的宽度:
p { border-style: solid; border-top-width: 15px; border-right-width: 5px; border-bottom-width: 15px; border-left-width: 5px; }
p {border-style: none; border-width: 50px;}注释:尽管边框的宽度是 50px,但是边框样式设置为 none。此时,边框的宽度也会变成 0。
h1 {border-width: 20px;}由于 border-style 的默认值是 none,如果没有声明样式,就相当于 border-style: none。
p { border-style: solid; border-color: blue rgb(25%,35%,45%) #909090 red; }提示:如果颜色值小于 4 个,值复制就会起作用。
p { border-style: solid; border-color: blue red; }注释:默认的边框颜色是元素本身的前景色。如果没有为边框声明颜色,它将与元素的文本颜色相同。另一方面,如果元素没有任何文本,假设它是一个表格,其中只包含图像,那么该表的边框颜色就是其父元素的文本颜色(因为 color 可以继承)。这个父元素很可能是 body、div 或另一个 table。
h1 { border-style: solid; border-color: black; border-right-color: red; }
<html> <head> <style type="text/css"> a:link, a:visited { border-style: solid; border-width: 5px; border-color: transparent; } a:hover {border-color: gray;} </style> </head> <body> <a href="#">AAA</a> <a href="#">BBB</a> <a href="#">CCC</a> </body> </html>注释:利用 transparent,使用边框就像是额外的内边距一样,在你需要的时候使其可见。
<html> <head> <style type="text/css"> p { border: medium double rgb(250,0,255) } </style> </head> <body> <p>Some text</p> </body> </html>注释:本例演示用简写属性来将所有四个边框属性设置于同一声明中。
p.one {border-style: solid} p.two {border-style: solid double} p.three {border-style: solid double groove} p.four {border-style: solid double groove dotted} p.B-width { border-style: solid; border-width: 5px 10px 1px medium } p.B-color { border-style: solid; border-color: #ff0000 #00ff00 #0000ff rgb(250,0,255) } p.B-bottom { border-style: solid; border-bottom: thick dotted #ff0000; } p.other { border-style: solid; border-top-style: dotted; border-right-width: thin; border-bottom-color: #ff0000; border-left: thick double #ff0000; }注释:"border-width" 属性单独使用无效,请首先使用 "border-style" 属性来设置边框。
评论