Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 816|回复: 0

CSS 边框

[复制链接]

该用户从未签到

发表于 2011-7-29 21:17:02 | 显示全部楼层 |阅读模式
元素的边框 (border) 是围绕元素内容和内边距的一条或多条线。

css HTML border 属性答应你划定元素边框的样式、宽度和颜色。



边框

在 中,我们使用表格来创建文本附近的边框,但是通过使用 边框属性,我们可以创建出效果精彩的边框,并且可以应用于任何元素。

元素外边距内就是元素的的边框 (border)。元素的边框就是围绕元素内容和内边据的一条或多条线。

每个边框有 3 个方面:宽度、样式,以及颜色。在下面的篇幅,我们会为您具体讲解这三个方面。



边框与背景

规范指出,边框绘制在“元素的背景之上”。这很重要,由于有些边框是“中断的”(例如,点线边框或虚线框),元素的背景应当泛起在边框的可见部门之间。

2 指出背景只延伸到内边距,而不是边框。后来 2.1 进行了更正:元素的背景是内容、内边距和边框区的背景。大多数浏览器都遵循 2.1 定义,不外一些较老的浏览器可能会有不同的表现。



边框的样式

样式是边框最重要的一个方面,这不是由于样式控制着边框的显示(当然,样式确实控制着边框的显示),而是由于假如没有样式,将根本没有边框。

的 border-style 属性定义了 10 个不同的非 inherit 样式,包括 none。

例如,您可认为把一幅图片的边框定义为 outset,使之看上去像是“突出按钮”:
[pre]a:link img {border-style: outset;}[/pre]
定义多种样式

您可认为一个边框定义多个样式,例如:
[pre]p.aside {border-style: solid dotted dashed double;}[/pre]
上面这条规则为类名为 aside 的段落定义了四种边框样式:实线上边框、点线右边框、虚线下边框和一个双线左边框。

我们又看到了这里的值采用了 top-right-bottom-left 的顺序,讨论用多个值设置不同内边距时也见过这个顺序。

定义单边样式

假如您但愿为元素框的某一个边设置边框样式,而不是设置所有 4 个边的边框样式,可以使用下面的单边边框样式属性:


    [li]border-top-style
    [li]border-right-style
    [li]border-bottom-style
    [li]border-left-style [/li]

因此这两种方法是等价的:
[pre]p {border-style: solid solid solid none;}
p {border-style: solid; border-left-style: none;}
[/pre]
留意:假如要使用第二种方法,必需把单边属性放在简写属性之后。由于假如把单边属性放在 border-style 之前,简写属性的值就会笼盖单边值 none。



边框的宽度

您可以通过 border-width 属性为边框指定宽度。

为边框指定宽度有两种方法:可以指定长度值,好比 2px 或 0.1em;或者使用 3 个枢纽字之一,它们分别是 thin 、medium(默认值) 和 thick。

注释: 没有定义 3 个枢纽字的详细宽度,所以一个用户代办代理可能把 thin 、medium 和 thick 分别设置为即是 5px、3px 和 2px,而另一个用户代办代理则分别设置为 3px、2px 和 1px。

所以,我们可以这样设置边框的宽度:
[pre]p {border-style: solid; border-width: 5px;}[/pre]
或者:
[pre]p {border-style: solid; border-width: thick;}[/pre]
定义单边宽度

您可以按照 top-right-bottom-left 的顺序设置元素的各边边框:
[pre]p {border-style: solid; border-width: 15px 5px 15px 5px;}[/pre]
上面的例子也可以简写为(这样写法称为值复制):
[pre]p {border-style: solid; border-width: 15px 5px;}[/pre]
您也可以通过下列属性分别设置边框各边的宽度:


    [li]border-top-width
    [li]border-right-width
    [li]border-bottom-width
    [li]border-left-width [/li]

因此,下面的规则与上面的例子是等价的:
[pre]p {
  border-style: solid;
  border-top-width: 15px;
  border-right-width: 5px;
  border-bottom-width: 15px;
  border-left-width: 5px;
  }[/pre]
没有边框

在前面的例子中,您已经看到,假如但愿显示某种边框,就必需设置边框样式,好比 solid 或 outset。

那么假如把 border-style 设置为 none 会泛起什么情况:
[pre]p {border-style: none; border-width: 50px;}[/pre]
尽管边框的宽度是 50px,但是边框样式设置为 none。在这种情况下,不仅边框的样式没有了,其宽度也会变成 0。边框消失了,为什么呢?

这是由于假如边框样式为 none,即边框根本不存在,那么边框就不可能有宽度,因此边框宽度自动设置为 0,而不论您原先定义的是什么?

记住这一点非常重要。事实上,健忘声明边框样式是一个常犯的错误。根据以下规则,所有 h1 元素都不会有任何边框,更不用说 20 像素宽了:
[pre]h1 {border-width: 20px;}[/pre]
因为 border-style 的默认值是 none,假如没有声明样式,就相称于 border-style: none。因此,假如您但愿边框泛起,就必需声明一个边框样式。



边框的颜色

设置边框颜色非常简朴。 使用一个简朴的 border-color 属性,它一次可以接受最多 4 个颜色值。

可以使用任何类型的颜色值,例如可以是命名颜色,也可以是十六进制和 RGB 值:
[pre]p {
  border-style: solid;
  border-color: blue rgb(25%,35%,45%) #909090 red;
  }[/pre]
假如颜色值小于 4 个,值复制就会起作用。例如下面的规则声明了段落的上下边框是蓝色,左右边框是红色:
[pre]p {
  border-style: solid;
  border-color: blue red;
  }[/pre]
注释:默认的边框颜色是元素本身的远景色。假如没有为边框声明颜色,它将与元素的文本颜色相同。另一方面,假如元素没有任何文本,假设它是一个表格,其中只包含图像,那么该表的边框颜色就是其父元素的文本颜色(由于 color 可以继续)。这个父元素很可能是 body、div 或另一个 table。

定义单边颜色

还有一些单边边框颜色属性。它们的原理与单边样式和宽度属性相同:


    [li]border-top-color
    [li]border-right-color
    [li]border-bottom-color
    [li]border-left-color [/li]

要为 h1 元素指定实线玄色边框,而右边框为实线红色,可以这样指定:
[pre]h1 {
  border-style: solid;
  border-color: black;
  border-right-color: red;
  }[/pre]
透明边框

我们刚才讲过,假如边框没有样式,就没有宽度。不外有些情况下您可能但愿创建一个不可见的边框。

2 引入了边框颜色值 transparent。这个值用于创建有宽度的不可见边框。请看下面的例子:
[pre]<a href="#">AAA</a>
<a href="#">BBB</a>
<a href="#">CCC</a>
[/pre]
我们为上面的链接定义了如下样式:
[pre]a:link, a:visited {
  border-style: solid;
  border-width: 5px;
  border-color: transparent;
  }
a:hover {border-color: gray;}
[/pre]
如需查看以上样式的效果,请点击:TIY。

从某种意义上说,利用 transparent,使用边框就像是额外的内边距一样;此外还有一个好处,就是能在你需要的时候使其可见。这种透明边框相称于内边距,由于元素的背景会延伸到边框区域(假如有可见背景的话)。

重要事项:在 IE7 之前,IE/WIN 没有提供对 transparent 的支持。在以前的版本,IE 会根据元素的 color 值来设置边框颜色。



边框实例:


所有边框属性在一个声明之中
本例演示用简写属性来将所有四个边框属性设置于统一声明中。

<>
<head>
<style type="text/">
p
{
border: medium double rgb(250,0,255)
}
</style>
</head>

<body>
<p>Some text</p>
</body>

</>


设置四边框样式
本例演示如何设置四边框样式。

<>
<head>
<style type="text/">
p.dotted {border-style: dotted}
p.dashed {border-style: dashed}
p.solid {border-style: solid}
p.double {border-style: double}
p.groove {border-style: groove}
p.ridge {border-style: ridge}
p.inset {border-style: inset}
p.outset {border-style: outset}
</style>
</head>

<body>
<p class="dotted">A dotted border</p>

<p class="dashed">A dashed border</p>

<p class="solid">A solid border</p>

<p class="double">A double border</p>

<p class="groove">A groove border</p>

<p class="ridge">A ridge border</p>

<p class="inset">An inset border</p>

<p class="outset">An outset border</p>
</body>

</>


设置每一边的不同边框
本例演示如何在元素的各边设置不同的边框。

<>
<head>
<style type="text/">
p.soliddouble {border-style: solid double}
p.doublesolid {border-style: double solid}
p.groovedouble {border-style: groove double}
p.three {border-style: solid double groove}
</style>
</head>

<body>
<p class="soliddouble">Some text</p>

<p class="doublesolid">Some text</p>

<p class="groovedouble">Some text</p>

<p class="three">Some text</p>
</body>

</>


所有边框宽度属性在一个声明之中
本例演示用简写属性来将所有边框宽度属性设置于统一声明中。

<>
<head>
<style type="text/">
p.one
{
border-style: solid;
border-width: 5px
}
p.two
{
border-style: solid;
border-width: thick
}
p.three
{
border-style: solid;
border-width: 5px 10px
}
p.four
{
border-style: solid;
border-width: 5px 10px 1px
}
p.five
{
border-style: solid;
border-width: 5px 10px 1px medium
}
</style>
</head>

<body>
<p class="one">Some text</p>
<p class="two">Some text</p>
<p class="three">Some text</p>
<p class="four">Some text</p>
<p class="five">Some text</p>

<p><b>注释:</b>"border-width" 属性假如单独使用的话是不会起作用的。请首先使用 "border-style" 属性来设置边框。</p>
</body>

</>

  
设置四个边框的颜色
本例演示如何设置四个边框的颜色。可以设置一到四个颜色。

<>
<head>

<style type="text/">
p.one
{
border-style: solid;
border-color: #0000ff
}
p.two
{
border-style: solid;
border-color: #ff0000 #0000ff
}
p.three
{
border-style: solid;
border-color: #ff0000 #00ff00 #0000ff
}
p.four
{
border-style: solid;
border-color: #ff0000 #00ff00 #0000ff rgb(250,0,255)
}
</style>

</head>

<body>

<p class="one">One-colored border!</p>

<p class="two">Two-colored border!</p>

<p class="three">Three-colored border!</p>

<p class="four">Four-colored border!</p>

<p><b>注释:</b>"border-width" 属性假如单独使用的话是不会起作用的。请首先使用 "border-style" 属性来设置边框。</p>

</body>
</>


所有下边框属性在一个声明中
本例演示用简写属性来将所有下边框属性设置在统一声明中。

<>
<head>
<style type="text/">
p
{
border-style:solid;
border-bottom:thick dotted #ff0000;
}
</style>
</head>

<body>
<p>This is some text in a paragraph.</p>
</body>

</>


设置下边框的颜色
本例演示如何设置下边框的颜色。

<>
<head>
<style type="text/">
p
{
border-style:solid;
border-bottom-color:#ff0000;
}
</style>
</head>

<body>
<p>This is some text in a paragraph.</p>
</body>

</>


设置下边框的样式
本例演示如何设置下边框的样式。

<>
<head>
<style type="text/">
p {border-style:solid}
p.none {border-bottom-style:none}
p.dotted {border-bottom-style:dotted}
p.dashed {border-bottom-style:dashed}
p.solid {border-bottom-style:solid}
p.double {border-bottom-style:double}
p.groove {border-bottom-style:groove}
p.ridge {border-bottom-style:ridge}
p.inset {border-bottom-style:inset}
p.outset {border-bottom-styleutset}
</style>
</head>

<body>
<p class="none">No bottom border.</p>
<p class="dotted">A dotted bottom border.</p>
<p class="dashed">A dashed bottom border.</p>
<p class="solid">A solid bottom border.</p>
<p class="double">A double bottom border.</p>
<p class="groove">A groove bottom border.</p>
<p class="ridge">A ridge bottom border.</p>
<p class="inset">An inset bottom border.</p>
<p class="outset">An outset bottom border.</p>
</body>
</>


设置下边框的宽度
本例演示如何设置下边框的宽度。

<>
<head>
<style type="text/">
p.one
{
border-style: solid;
border-bottom-width: 15px
}
p.two
{
border-style: solid;
border-bottom-width: thin
}
</style>
</head>
<body>

<p class="one"><b>注释:</b>"border-bottom-width" 属性假如单独使用的话是不会起作用的。请首先使用 "border-style" 属性来设置边框。</p>
<p class="two">Some text. Some more text.</p>

</body>
</>


所有左边框属性在一个声明之中
所有左边框属性在一个声明之中

<>
<head>
<style type="text/">
p
{
border-style:solid;
border-left:thick double #ff0000;
}
</style>
</head>

<body>
<p>This is some text in a paragraph.</p>
</body>
</>


设置左边框的颜色
本例演示如何设置左边框的颜色。

<>
<head>
<style type="text/">
p
{
border-style: solid;
border-left-color: #ff0000
}
</style>
</head>

<body>
<p>Some text.</p>
</body>

</>


设置左边框的样式
本例演示如何设置左边框的样式。

<>
<head>
<style type="text/">
p
{
border-style:solid;
}
p.none {border-left-style:none}
p.dotted {border-left-style:dotted}
p.dashed {border-left-style:dashed}
p.solid {border-left-style:solid}
p.double {border-left-style:double}
p.groove {border-left-style:groove}
p.ridge {border-left-style:ridge}
p.inset {border-left-style:inset}
p.outset {border-left-style:outset}
</style>
</head>

<body>
<p class="none">No left border.</p>
<p class="dotted">A dotted left border.</p>
<p class="dashed">A dashed left border.</p>
<p class="solid">A solid left border.</p>
<p class="double">A double left border.</p>
<p class="groove">A groove left border.</p>
<p class="ridge">A ridge left border.</p>
<p class="inset">An inset left border.</p>
<p class="outset">An outset left border.</p>
</body>
</>


设置左边框的宽度
本例演示如何设置左边框的宽度。

<>
<head>
<style type="text/">
p.one
{
border-style: solid;
border-left-width: 15px
}
p.two
{
border-style: solid;
border-left-width: thin
}
</style>
</head>
<body>

<p class="one"><b>注释:</b>"border-left-width" 属性假如单独使用的话是不会起作用的。请首先使用 "border-style" 属性来设置边框。</p>
<p class="two">Some text. Some more text.</p>

</body>
</>


所有右边框属性在一个声明之中
本例演示一个简写属性,用于把所有右边框属性设置在一条声明中。

<>
<head>
<style type="text/">
p
{
border-style:solid;
border-right:thick double #ff0000;
}
</style>
</head>

<body>
<p>This is some text in a paragraph.</p>
</body>
</>

  
设置右边框的颜色
本例演示如何设置右边框的颜色。

<>
<head>
<style type="text/">
p
{
border-style: solid;
border-right-color: #ff0000
}
</style>
</head>

<body>
<p>Some text.</p>
</body>

</>


设置右边框的样式
本例演示如何设置右边框的样式。

<>
<head>
<style type="text/">
p.dotted {border-right-style: dotted}
p.dashed {border-right-style: dashed}
p.solid {border-right-style: solid}
p.double {border-right-style: double}
p.groove {border-right-style: groove}
p.ridge {border-right-style: ridge}
p.inset {border-right-style: inset}
p.outset {border-right-style: outset}
</style>
</head>

<body>
<p class="dotted">A dotted border</p>

<p class="dashed">A dashed border</p>

<p class="solid">A solid border</p>

<p class="double">A double border</p>

<p class="groove">A groove border</p>

<p class="ridge">A ridge border</p>

<p class="inset">An inset border</p>

<p class="outset">An outset border</p>
</body>
</>


设置右边框的宽度
本例演示如何设置右边框的宽度。

<>
<head>
<style type="text/">
p.one
{
border-style: solid;
border-right-width: 15px
}
p.two
{
border-style: solid;
border-right-width: thin
}
</style>
</head>
<body>

<p class="one"><b>注释:</b>"border-right-width" 属性假如单独使用的话是不会起作用的。请首先使用 "border-style" 属性来设置边框。</p>
<p class="two">Some text. Some more text.</p>

</body>
</>


所有上边框属性在一个声明之中
本例演示用简写属性来将所有上边框属性设置于统一声明之中。

<>
<head>
<style type="text/">
p
{
border-style:solid;
border-top:thick double #ff0000;
}
</style>
</head>

<body>
<p>This is some text in a paragraph.</p>
</body>

</>


设置上边框的颜色
本例演示如何设置上边框的颜色。

<>
<head>
<style type="text/">
p
{
border-style: solid;
border-top-color: #ff0000
}
</style>
</head>

<body>
<p>Some text.</p>
</body>

</>


设置上边框的样式
本例演示如何设置上边框的样式。

<>
<head>
<style type="text/">
p
{
border-style:solid;
}
p.none {border-top-style:none}
p.dotted {border-top-style:dotted}
p.dashed {border-top-style:dashed}
p.solid {border-top-style:solid}
p.double {border-top-style:double}
p.groove {border-top-style:groove}
p.ridge {border-top-style:ridge}
p.inset {border-top-style:inset}
p.outset {border-top-style:outset}
</style>
</head>

<body>
<p class="none">No top border.</p>
<p class="dotted">A dotted top border.</p>
<p class="dashed">A dashed top border.</p>
<p class="solid">A solid top border.</p>
<p class="double">A double top border.</p>
<p class="groove">A groove top border.</p>
<p class="ridge">A ridge top border.</p>
<p class="inset">An inset top border.</p>
<p class="outset">An outset top border.</p>
</body>
</>


设置上边框的宽度
本例演示如何设置上边框的宽度。

<>
<head>
<style type="text/">
p.one
{
border-style: solid;
border-top-width: 15px
}
p.two
{
border-style: solid;
border-top-width: thin
}
</style>
</head>

<body>
<p class="one"><b>注释:</b>"border-top-width" 属性假如单独使用的话是不会起作用的。请首先使用 "border-style" 属性来设置边框。</p>
<p class="two">Some text. Some more text.</p>
</body>

</>




边框属性

属性描述
border简写属性,用于把针对四个边的属性设置在一个声明。
border-style用于设置元素所有边框的样式,或者单独地为各边设置边框样式。
border-width简写属性,用于为元素的所有边框设置宽度,或者单独地为各边边框设置宽度。
border-color简写属性,设置元素的所有边框中可见部门的颜色,或为 4 个边分别设置颜色。
border-bottom简写属性,用于把下边框的所有属性设置到一个声明中。
border-bottom-color设置元素的下边框的颜色。
border-bottom-style设置元素的下边框的样式。
border-bottom-width设置元素的下边框的宽度。
border-left简写属性,用于把左边框的所有属性设置到一个声明中。
border-left-color设置元素的左边框的颜色。
border-left-style设置元素的左边框的样式。
border-left-width设置元素的左边框的宽度。
border-right简写属性,用于把右边框的所有属性设置到一个声明中。
border-right-color设置元素的右边框的颜色。
border-right-style设置元素的右边框的样式。
border-right-width设置元素的右边框的宽度。
border-top简写属性,用于把上边框的所有属性设置到一个声明中。
border-top-color设置元素的上边框的颜色。
border-top-style设置元素的上边框的样式。
border-top-width设置元素的上边框的宽度。
回复

使用道具 举报

  • TA的每日心情
    开心
    2021-3-12 23:18
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2011-7-29 21:40:12 | 显示全部楼层
    谢谢楼主分享。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-5-28 07:15 , Processed in 0.385849 second(s), 33 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表