写点什么

CSS10 - 盒子模型 & 常用无序列表样式

发布于: 2021 年 01 月 08 日
CSS10 - 盒子模型&常用无序列表样式

盒子模型

所有的文档元素(标签)都会生成一个矩形框,我们称为元素框(element box),它描述了一个文档元素在网页布局中所占的位置大小。因此,每个盒子除了有自己大小和位置外,还影响着其他盒子的大小和位置。

盒子边框(border)

语法:

border : width style |color

边框属性—设置边框样式(border-style)

边框样式用于定义页面中边框的风格,常用属性值如下:

none:没有边框即忽略所有边框的宽度(默认值)

solid:边框为单实线(最为常用的)

dashed:边框为虚线

dotted:边框为点线

double:边框为双实线

边框设置:

上边框:

border-top:宽度 样式 颜色; 如:

border-top: 1px solid black;

右边框:

border-right:宽度 样式 颜色; 如:

border-right: 1px solid black;

底部边框:

border-bottom:宽度 样式 颜色; 如:

border-bottom: 1px solid black;

左边框:

border-left: 宽度 样式 颜色; 如:

border-left: 1px solid black;

内边距(padding)

padding 属性用于设置内边距。 是指 边框与内容之间的距离。

padding-top:上内边距

padding-right:右内边距

padding-bottom:下内边距

padding-left:左内边距

padding:上内边距 右内边距 下内边距 左内边距

外边距(margin)

margin 属性用于设置外边距。 设置外边距会在元素之间创建“空白”, 这段空白通常不能放置其他内容。

margin-top:上外边距

margin-right:右外边距

margin-bottom:下外边距

margin-left:上外边距

margin:上外边距 右外边距 下外边距 左外边距


注意: padding 与 margin 后面跟的数值个数不一样时其表示的意思是不一样的。

1 个值 padding:上下左右边距 ;比如 padding: 3px; 表示上下左右都是 3 像素;

2 个值 padding: 上下边距 左右边距;比如 padding: 3px 5px; 表示 上下 3 像素 左右 5 像素;

3 个值 padding:上边距 左右边距 下边距;比如 padding: 3px 5px 10px; 表示 上是 3 像素 左右是 5 像素 下是 10 像素;

4 个值 padding:上内边距 右内边距 下内边距 左内边距 比如: padding: 3px 5px 10px 15px; 表示 上是 3px 右是 5px 下是 10px 左是 15px (顺时针分配);

外边距实现盒子居中

让一个盒子实现水平居中,需要满足一下两个条件:

  1. 必须是块级元素。

  2. 盒子必须指定了宽度(width)

然后给左右的外边距都设置为 auto,就可使块级元素水平居中。

实际工作中常用这种方式进行网页布局,示例代码如下:

.header{ width:960px; margin:0 auto;}
复制代码

清除元素的默认内外边距

为了更方便地控制网页中的元素,制作网页时,可使用如下代码清除元素的默认内外边距:

*{

padding:0; 清除内边距

margin:0; 清除外边距

}

注意: 行内元素是只有左右内外边距,没有上下内外边距的。

外边距合并

无嵌套关系的垂直外边距

使用 margin 定义块元素的垂直外边距时,可能会出现外边距的合并。即当上下相邻的两个块元素相遇时,如果上面的元素有下外边距 margin-bottom,下面的元素有上外边距 margin-top,则他们之间的垂直间距不是 margin-bottom 与 margin-top 之和,而是两者中的较大者。这种现象被称为相邻块元素垂直外边距的合并(也称外边距塌陷)。

这种情况并不多见,如果遇到了,布局时尽量避免即可。

有嵌套关系的垂直外边距

对于两个嵌套关系的块元素,如果父元素没有上内边距及边框,则父元素的上外边距会与子元素的上外边距发生合并,合并后的外边距为两者中的较大者,即使父元素的上外边距为 0,也会发生合并。

解决方案:

  1. 可以为父元素定义 1 像素的上边框或上内边距。

  2. 可以为父元素添加 overflow:hidden。

宽度和高度(width+height)

盒子的总宽度= width+左右内边距之和+左右边框宽度之和+左右外边距之和

盒子的总高度= height+上下内边距之和+上下边框宽度之和+上下外边距之和

注意:

1、宽度属性 width 和高度属性 height 仅适用于块级元素,对行内元素无效( img 标签和 input 除外)。

2、计算盒子模型的总高度时,还应考虑上下两个盒子垂直外边距合并的情况。

常用的无序列表样式

去除无序列表前面的小黑点:

list-style-type: none;
复制代码

用图片代替无序列表前面的小黑点(图片不宜过大):

list-style-image: url(图片路径);
复制代码

把无序列表的右内边距移入内容区:

list-style-position: inside;
复制代码


发布于: 2021 年 01 月 08 日阅读数: 25
用户头像

所思在远道 2020.08.19 加入

一只慢慢进步的小白

评论

发布
暂无评论
CSS10 - 盒子模型&常用无序列表样式