html进阶css(4)

时间:2023-03-09 21:59:08
html进阶css(4)

盒子模型-边框

首先请看下图

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>盒子模型边框</title>
<style type="text/css">
p{border:2px solid red;}/*border的缩写格式*/
p{
border-width:2px;
borerstyle:solid;
border-color:red;
}
.pingguo{border-bottom:1px solid red;}
.xiangjiao{border-top:1px solid red;}
.mangguo{border-right:1px solid yellow;}
.juzi{border-left:2px solid red;}
</style>
</head>
<body>
<p>她是个既安静又开朗的姑娘,言语恰到好处,有她在,既不会觉得聒噪,也不会感到冷场。</p>
<p>她周到地照顾着每个人的情绪,也能委婉地表达自己的观点。她散发着温和的光彩,从不灼痛别人的世界。</p>
<ul>
<li class="pingguo">苹果</li>
<li class="xiangjiao">香蕉</li>
<li class="mangguo">芒果</li>
<li class="juzi">橘子</li>
</ul>
</body>
</html>

1)border-style边框样式常用样式:

dashed(虚线)dotted(点线)solid(实线)

2)border-color边框颜色中的颜色可设置为十六进制颜色,

border-color:#888;

3) border-width边框的宽度中的宽度也可以设置为:

thin|medium|thick这些都不常用,最常用的还是像素px。

如有想单独设置上(top)、下(bottom)、左(left)、右(right)。的边框按照以下格式即可

(.pingguo{border-bottom:1px solid red;})

(.xiangjiao{border-top:1px solid red;})

(.mangguo{border-right:1px solid yellow;})

(.juzi{border-left:2px solid red;})



div内里面就是一个盒子模型的格式

盒子3d模型分5层,边框border为第一层,padding+content内边距与盒子内容为第二层

background-image背景图像为第三层,background-color背景颜色位于第4层,margin外边距为最后一层。叠加之后形成一个盒子

html进阶css(4)html进阶css(4) 

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>宽高</title>
<style type="text/css">
div{
width:200px;
padding:20px;
border:1px solid red;
margin:10px;
}
div{padding:20px 10px 15px 30px}
/*上 右 下 左
top |right|bottom|left |这是盒子模型的缩写*/
.hez{margin:20px 10px 15px 30px}
/*上 右 下 左 同上一样*/
</style>
</head>
<body>
<div><p>她是个既安静又开朗的姑娘,言语恰到好处,有她在,既不会觉得聒噪,也不会感到冷场。她周到地照顾着每个人的情绪,也能委婉地表达自己的观点。她散发着温和的光彩,从不灼痛别人的世界。</p>
</div>
<p class="hez">盒子模型的边界</p>
</body>
</html>

元素内容与边框之间是可以设置距离的,称之为“填充”。填充也分为上、右、下、左、顺序一定不要搞乱.

如果上、右、下、左、的填充都为10px,可以这样写:

div{padding:10px;}

如果上下填充一样为10px,左右一样为20px,就可以这样写:

div{padding:10px 20px;}

padding与margin书写格式是一样的。

padding与margin的区别,padding在边框里面,margin在边框外面


css布局模型

了解了css合模型的基本概念、盒模型类型、我们就可以深入讨论网页布局的基本模型了。布局模型与盒模式一样都是css最基本、最核心的概念。但布局模型是建立在盒模型之上,又不同与我们常说的css布局样式或css布局模块。如果说布局模型是本,那么css布局模式就是末了,是外在的表现形式。css包含3种基本的布局模型,用英文概况为:flow、layer和float.

在网页中,元素由三种布局模型:

1)流动模型(flow)

流动模型是默认的网页布局模式,也就是说网页在默认状态下的HTML网页元素都是根据流动模型来分布网页内容的。流动布局模型具有2个比较典型的特征:

第一点,块状元素都会在所处包含元素内自上而下按顺序垂直延伸分布,因为在默认状态下,块状元素的宽度都为100%。实际上块状元素都会以行的形式占据位置。

第二点,在流动模式下,内联元素都会在所处的包含元素内从左到右水平分布显示。

2)浮动模型(float)

块状元素都是独占一行,如果现在我们想让两个块状元素并排显示怎么办?这时候设置元素浮动就可以实现这一愿望了,任何元素在默认的情况下是不能浮动的,但可以用css定义为浮动。如div、p、table、img、等元素都可以被定义为浮动。

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>浮动模型</title>
<style type="text/css">
div{
width:200px;
height:200px;
border:2px red solid;
}
div{
float:left;
}
</style>
</head>
<body>
<div id="div1"></div>
<div id="div2"></div>
</body>
</html>

通过"float"已经并排显示了,“left"向左移动,"right"向右移动,如果想两个元素一左一右显示在一行的话,就要用id标签了。#div1{float:left;}     #div2{float:right;}

3)层模型(layer)
层模型就像是图像软件中非常流行的图层编辑功能一样,每个图层能精确定位操作,但在网页设计领域,由于网页大小的活动性,层布局没能受到热捧。但是在网页上局部使用层布局还是有其方便之处的。如果让html元素在网页中精准定位,就像图像软件中图层一样可以对每个图层能够精确定位操作。css定义了一组定位(positioning)属性来支持层布局模型。

层模式有三种形式

1、绝对定位(position:absolute)

2、相对定位(position:relative)

3、固定定位(position:fixed)

关于层模型三种形式我们下节在看。

html进阶css(4)

html进阶css(4)