06.盒模型

2022-09-05  本文已影响0人  一直流浪

参考网站:https://www.runoob.com/css/css-tutorial.html

CSS 框模型 (Box Model) 规定了元素框处理元素内容、内边距、边框 和 外边距 的方式。

所有HTML元素可以看作盒子,在CSS中,"box model"这一术语是用来设计和布局时使用。

CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容。

盒模型允许我们在其它元素和周围元素边框之间的空间放置元素。

1. 内边距(padding 属性)

h1 {padding: 10px 0.25em 2ex 20%;}

2. 边框(border属性)

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

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

2.1 边框的样式(border-style 属性)

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>点线边框</title> 
<style>
p.none {border-style:none;}
</style>
</head>

<body>
<p class="none">无边框。</p>
</body>

</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>虚线边框</title> 
<style>
p.dotted {border-style:dotted;}
</style>
</head>

<body>
<p class="dotted">点线边框。</p>
</body>

</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>虚线边框</title> 
<style>
p.dashed {border-style:dashed;}
</style>
</head>

<body>
<p class="dashed">虚线边框。</p>
</body>

</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>实线边框</title> 
<style>
p.solid {border-style:solid;}
</style>
</head>

<body>
<p class="solid">实线边框。</p>
</body>

</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>两个边框</title> 
<style>
p.double {border-style:double;}
</style>
</head>

<body>
<p class="double">双边框。</p>
</body>

</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>3D沟槽边框</title> 
<style>
p.groove {border-style:groove;}
</style>
</head>

<body>
<p class="groove"> 3D沟槽边框</p>
</body>

</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>3D脊边框</title> 
<style>
p.ridge {border-style:ridge;}
</style>
</head>

<body>
<p class="ridge">3D脊边框</p>
</body>

</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>3D的嵌入边框</title> 
<style>
p.inset {border-style:inset;}
</style>
</head>

<body>
<p class="inset">嵌入边框。</p>
</body>

</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>3D的嵌入边框</title> 
<style>
p.outset {border-style:outset;}
</style>
</head>

<body>
<p class="outset">外凸边框。</p>
</body>

</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>隐藏边框</title> 
<style>
p.hidden {border-style:hidden;}
</style>
</head>

<body>
<p class="hidden">隐藏边框。</p>
</body>

</html>

下面这条规则为类名为 aside 的段落定义了四种边框样式:实线上边框、点线右边框、虚线下边框和一个双线左边框。

p.aside {border-style: solid dotted dashed double;}

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

代码示例

p {border-style: solid solid solid none;}
p {border-style: solid; border-left-style: none;}

2.2 边框的宽度(border-width 属性)

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

为边框指定宽度有两种方法:可以指定长度值,比如 2px 或 0.1em(单位为 px, pt, cm, em 等),或者使用 3 个关键字之一,它们分别是 thick 、medium(默认值) 和 thin。

注意:CSS 没有定义 3 个关键字的具体宽度,所以一个用户可能把 thick 、medium 和 thin 分别设置为等于 5px、3px 和 2px,而另一个用户则分别设置为 3px、2px 和 1px。

p.one
{
    border-style:solid;
    border-width:5px;
}
p.two
{
    border-style:solid;
    border-width:medium;
}

2.3 边框的颜色(border-color 属性)

border-color属性用于设置边框的颜色。可以设置的颜色:

您还可以设置边框的颜色为"transparent",透明边框。

注意: border-color单独使用是不起作用的,必须得先使用border-style来设置边框样式。

p.one
{
    border-style:solid;
    border-color:transparent;
}
p.two
{
    border-style:solid;
    border-color:#98bf21;
}

2.4 外边距(margin 属性)

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>外边距</title> 
<style>
p
{
    background-color:yellow;
}
p.margin
{
    margin:100px 50px;
}
</style>
</head>

<body>
<p>这是一个没有指定边距大小的段落。</p>
<p class="margin">这是一个指定边距大小的段落。</p>
</body>

</html>
上一篇 下一篇

猜你喜欢

热点阅读