web前端学习(十九)——CSS3盒子模型(Box Model)、边框属性(border)及轮廓属性(outline)的相关设置

news/2024/7/16 5:02:50

1.CSS盒子模型(Box Model)

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

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

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

下面的图片说明了盒子模型(Box Model):


CSS box-model

不同部分的说明:

  • Margin(外边距) - 清除边框外的区域,外边距是透明的。
  • Border(边框) - 围绕在内边距和内容外的边框。
  • Padding(内边距) - 清除内容周围的区域,内边距是透明的。
  • Content(内容) - 盒子的内容,显示文本和图像。

最终元素的总宽度计算公式是这样的:

总元素的宽度=宽度+左填充+右填充+左边框+右边框+左边距+右边距。

元素的总高度最终计算公式是这样的:

总元素的高度=高度+顶部填充+底部填充+上边框+下边框+上边距+下边距。

小实例: 

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8" />
		<title>CSS简单学习</title>
		<style type="text/css">
			div {
				background-color: lightgray;
				border: 25px solid green;
				width: 300px;
				padding: 25px;
				margin: 25px;
			}
		</style>
	</head>
	
	<body>
		<h2>盒子模型小实例</h2>
		<p>CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容。</p>
		<div>这里是盒子内的实际内容。有 25px 内间距,25px 外间距、25px 绿色边框。</div>
	</body>
</html>


2.CSS边框属性(border)

CSS边框属性允许你指定一个元素边框的样式和颜色。

有关border(简写属性)、border-width(边框宽度)、border-style(边框样式)、border-color(边框颜色)的相关内容,可以参考这篇博文:https://blog.csdn.net/weixin_43823808/article/details/113251320

2.1 border-width属性(边框宽度)

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8">
		<title>CSS简单学习</title>
		<style type="text/css">
			p.one {
				border-style: solid;
				border-width: 5px;
			}
			p.two {
				border-style: solid;
				border-width: medium;
			}
			p.three {
				border-style: solid;
				border-width: 1px;
			}
		</style>
	</head>
	
	<body>
		<p class="one">这是一个段落。</p>
		<p class="two">这是一个段落。</p>
		<p class="three">这是一个段落。</p>
		<p><b>注意:</b>&quot;border-width&quot; 属性 如果单独使用则不起作用。要先使用 &quot;border-style&quot; 属性来设置边框。</p>
	</body>
</html>

2.2 border-color属性(边框颜色)

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8">
		<title>CSS简单学习</title>
		<style type="text/css">
			p.one {
				border-style: solid;
				border-color: red;
			}
			p.two {
				border-style: solid;
				border-color: blue;
			}
			p.three {
				border-style: solid;
				border-color: green;
			}
		</style>
	</head>
	
	<body>
		<p class="one">实线红色边框</p>
		<p class="two">实线蓝色边框</p>
		<p class="three">实线绿色边框</p>
		<p><b>注意:</b>&quot;border-color&quot; 属性 如果单独使用则不起作用. 要先使用 &quot;border-style&quot; 属性来设置边框。</p>
	</body>
</html>

2.3 border-style属性(边框样式)

border-top-style、border-bottom-style、border-left-style、border-right-style四个属性可以简写为:border-style。

border-style属性可以有1-4个值:

  • border-style: a b c d;
    • 上边框是 a
    • 右边框是 b
    • 底边框是 c
    • 左边框是 d
  • border-style: a b c;
    • 上边框是 a
    • 左、右边框是 b
    • 底边框是 c
  • border-style: a b;
    • 上、底边框是 a
    • 右、左边框是 b
  • border-style: a;
    • 四面边框是 a

① border-style:属性1,属性2,属性3,属性4:上->右->下->左

② border-style:属性1,属性2,属性3:上->左右->下

③ border-style:属性1,属性2:上下->左右

④ border-style:属性1:上下左右属性相同

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8">
		<title>CSS简单学习</title>
		<style type="text/css">
			p {
				border-top-style: dotted;
				border-bottom-style: dotted;
				border-left-style: solid;
				border-right-style: solid;
			}
		</style>
	</head>
	
	<body>
		<p>这里设置了两种不同的边框样式</p>
	</body>
</html>


3.CSS轮廓属性(outline)

轮廓(outline)是绘制于元素周围的一条线,位于边框边缘的外围,可起到突出元素的作用。

CSS outline 属性规定元素轮廓的样式、颜色和宽度。

Outline 

属性说明CSS
outline在一个声明中设置所有的轮廓属性outline-color
outline-style
outline-width

inherit
2
outline-color设置轮廓的颜色color-name
hex-number
rgb-number

invert
inherit
2
outline-style设置轮廓的样式none
dotted
dashed
solid
double
groove
ridge
inset
outset
inherit
2
outline-width设置轮廓的宽度thin
medium
thick
length
inherit
2

3.1 outline-style属性(轮廓样式)

outline(轮廓)是绘制于元素周围的一条线,位于边框边缘的外围。

outline-style属性指定outline的样式。

描述
none默认。定义无轮廓。
dotted定义点状的轮廓。
dashed定义虚线轮廓。
solid定义实线轮廓。
double定义双线轮廓。双线的宽度等同于 outline-width 的值。
groove定义 3D 凹槽轮廓。此效果取决于 outline-color 值。
ridge定义 3D 凸槽轮廓。此效果取决于 outline-color 值。
inset定义 3D 凹边轮廓。此效果取决于 outline-color 值。
outset定义 3D 凸边轮廓。此效果取决于 outline-color 值。
inherit规定应该从父元素继承轮廓样式的设置。
<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8">
		<title>CSS简单学习</title>
		<style type="text/css">
			p {border: 1px solid red;}
			p.dotted {outline-style: dotted;}
			p.dashed {outline-style: dashed;}
			p.solid {outline-style: solid;}
			p.double {outline-style: double;}
			p.groove {outline-style: groove;}
			p.ridge {outline-style: ridge;}
			p.inset {outline-style: inset;}
			p.outset {outline-style: outset;}
		</style>
	</head>
	
	<body>
		<p class="dotted">轮廓样式</p>
		<p class="dashed">轮廓样式</p>
		<p class="solid">轮廓样式</p>
		<p class="double">轮廓样式</p>
		<p class="groove">轮廓样式</p>
		<p class="ridge">轮廓样式</p>
		<p class="inset">轮廓样式</p>
		<p class="outset">轮廓样式</p>
	</body>
</html>

3.2 outline-width属性(轮廓宽度)

outline(轮廓)是绘制于元素周围的一条线,位于边框边缘的外围。

outline-width指定轮廓的宽度。

注意: 请始终在outline-width属性之前声明outline-style属性。元素只有获得轮廓以后才能改变其轮廓的宽度。

描述
thin规定细轮廓。
medium默认。规定中等的轮廓。
thick规定粗的轮廓。
length允许您规定轮廓粗细的值。
inherit规定应该从父元素继承轮廓宽度的设置。
<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8">
		<title>CSS简单学习</title>
		<style type="text/css">
			p.one {
				border: 3px solid red;
				outline-style: double;
				outline-width: thick;
			}
			p.two {
				border: 3px solid red;
				outline-style: dotted;
				outline-width: 5px;
			}
		</style>
	</head>
	
	<body>
		<p class="one">这个段落设置了轮廓宽度和轮廓样式</p>
		<p class="two">这个段落设置了轮廓宽度和轮廓样式</p>
	</body>
</html>

3.3 outline-color属性(轮廓颜色)

outline (轮廓)是绘制于元素周围的一条线,位于边框边缘的外围。

outline-color属性指定轮廓颜色。

注意: 请始终在 outline-color 属性之前声明 outline-style 属性。元素只有获得轮廓以后才能改变其轮廓的颜色。

描述
color指定轮廓颜色。
invert默认。执行颜色反转(逆向的颜色)。可使轮廓在不同的背景颜色中都是可见。
inherit规定应该从父元素继承轮廓颜色的设置。
<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8">
		<title>CSS简单学习</title>
		<style type="text/css">
			p {
				border: 3px solid red;
				outline-style: dashed;
				outline-color: #0000FF;
			}
		</style>
	</head>
	
	<body>
		<p>这个段落的边框和轮廓拥有不同的颜色</p>
	</body>
</html>

3.4 outline属性

outline(轮廓)是绘制于元素周围的一条线,位于边框边缘的外围,可起到突出元素的作用。

outline简写属性在一个声明中设置所有的轮廓属性。

可以设置的属性分别是(按顺序):outline-color,outline-style,outline-width(顺序正好与border相反)

如果不设置其中的某个值,也不会出问题,比如 outline:solid #ff0000; 也是允许的。

<!DOCTYPE html>
<html lang="en">
	<head>
		<meta charset="utf-8">
		<title>CSS简单学习</title>
		<style type="text/css">
			p {
				border: 3px solid red;
				outline: green dashed 3px;
			}
		</style>
	</head>
	
	<body>
		<p>这个段落的边框和轮廓均使用&quot;border&quot;和&quot;outline&quot;简写属性进行设置。</p>
	</body>
</html>

 


http://www.niftyadmin.cn/n/712324.html

相关文章

Windows Server 2012 R2 WSUS-10:流程概述

本篇文章来大概说一说打补丁的流程&#xff0c;一般来说打补丁的流程分为测试环境测试和生产环境安装两个部分。如果企业规模比较小&#xff0c;没有完善的流程制度&#xff0c;也是有一些打补丁的原则可以遵循的&#xff0c;比如&#xff1a;对于安全级别为Low以上的各种安全补…

STP-16-根防护,BPDU防护和BPDU过滤

网络设计者很可能并不打算让终端用户在用于连接终端用户设备的Access端口上连接交换机。然而&#xff0c;这种事情有时却会发生——例如&#xff0c;有人可能需要大厅的会议室里有更多的端口&#xff0c;于是他觉得他可以把一个小的便宜的交换机接到墙上的端口中STP拓扑可能会因…

web前端学习(二十)——CSS3外边距属性(margin)及填充属性(padding)的相关设置

1.CSS外边距属性&#xff08;margin&#xff09; CSS margin(外边距)属性定义元素周围的空间。 margin 清除周围的&#xff08;外边框&#xff09;元素区域。margin 没有背景颜色&#xff0c;是完全透明的。 margin 可以单独改变元素的上&#xff0c;下&#xff0c;左&#xff…

Oracle 函数 Translate 的用法

一、语法&#xff1a; TRANSLATE(string,from_str,to_str) 二、目的 返回将&#xff08;所有出现的&#xff09;from_str中的每个字符替换为to_str中的相应字符以后的string。TRANSLATE 是 REPLACE 所提供的功能的一个超集。如果 from_str 比 to_str 长&#xff0c;那么在 f…

stm32usb转串口驱动_电机运动控制入门篇串口控制

大家好&#xff0c;由于疫情影响好久没写点东西了在之前的系列中&#xff0c;给大家说了各类电机的好坏&#xff0c;运动控制概念&#xff0c;接下来我来说说电机的核心&#xff0c;运动控制。时下闭环控制应该已经普及&#xff0c;现阶段电机品种繁多&#xff0c;每家电机在运…

联想 Z5S(L78071)免解锁BL 免rec 保留数据 ROOT Magisk Xposed 救砖 ZUI 10.5.370

>>>重点介绍<<<第一&#xff1a;本刷机包可卡刷可线刷&#xff0c;刷机包比较大的原因是采用同时兼容卡刷和线刷的格式&#xff0c;所以比较大第二&#xff1a;【卡刷方法】卡刷不要解压刷机包&#xff0c;直接传入手机后用第三方recovery刷机&#xff08;前…

《Unity着色器和屏幕特效开发秘笈》—— 2.7 Photoshop色阶效果

本节书摘来自华章出版社《Unity着色器和屏幕特效开发秘笈》一 书中的第2章&#xff0c;第2.7节&#xff0c;作者&#xff1a;&#xff08;美&#xff09;Kenny Lammers&#xff0c;更多章节内容可以访问云栖社区“华章计算机”公众号查看。 2.7 Photoshop色阶效果 如果你曾经做…

[JS11] 状态栏滚动

1 <html>2 <head>3 <meta http-equiv"Content-Type" content"text/html; charsetgb2312">4 <title>请看状态栏的变化</title>5 <meta name"GENERATOR" content"Microsoft FrontPage 3.0&…