首页 > 其他分享 >CSS盒子 模型(box-model)

CSS盒子 模型(box-model)

时间:2022-10-28 12:31:25浏览次数:64  
标签:box 标签 border 边框 padding 内边 model margin CSS


盒子 模型(box-model)

CSS处理网页时,它认为每个标签都包含在一 个不可见的盒子里。 如果把所有的标签都想象成盒子,那么我们对网页的布局就相 当于是摆放盒子。我们只需要将相应的盒子摆放到网页中相应的 位置即可完成网页的布局。

一个盒子(标签)我们会分成几个部分:

  1. –内容区(content)
  2. –内边距(padding)
  3. –边框(border)
  4. –外边距(margin)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kZ9Zoo12-1601969646976)(1.png)]

模型-内容区

  • 内容区指的是盒子中放置内容的区域,也就是标签 中的文本内容,子标签都是存在于内容区中的。
  • 如果没有为标签设置内边距和边框,则内容区大小 默认和盒子大小是一致的
  • 通过width和height两个属性可以设置内容区的大小而不是整个盒子的大小。
  • width和height属性只适用于块标签(包含行级块)。

模型- 内边距

顾名思义,内边距指的就是标签内容区与边框以内的空间。

内边距会影响整个盒子的大小。
使用padding属性来设置标签的内边距。
例如:
padding-left:10px;

padding-right:10px;

​ padding:10px 20px 30px 40px
​ 这样会设置标签的上、右、下、左四个方向的内边距。

模型-边框

可以在标签周围创建边框,边框是标签可见框的最外部。
可以使用border属性来设置盒子的边框:
border:1px red solid;
上边的样式分别指定了边框的宽度、颜色和样式。
也可以使用border-top/left/right/bottom分别指定上右下左 四个方向的边框。
边框可以设置样式:
dotted (点线) dashed (虚线) solid (实线) double (双线) groove (槽线)

border-radius设置四个角为圆角边框
border-top-left-radius设置左上为圆角边框

模型- 外边距

外边距是标签边框与周围标签相距的空间。 使用margin属性可以设置外边距。用法和padding类似,同样也提供了四个方向的 。
margin-top/right/bottom/left。
margin的值可以为负值。
margin的值还可以auto,设置外边距为最大值,当将左右外边距设置为auto时,浏览器会将左右外边距设置为相等.
垂直设置为auto时值为0,所以水平居中也可以简写为margin:0 auto。
外边距不会影响盒子的整体大小,但是会影响盒子的位置,会影响盒子的实际控制范围。

清除浏览器的默认样式

浏览器为了在页面中没有样式时,也可以有一个比较好的显示效果,所以为很多的标签都设置了一些默认的margin和padding,而它的这些默认样式,正常情况下我们是不需要使用的。

所以我们往往在编写样式之前需要将浏览器中的默认的margin和padding统统的去掉。

*{
margin: 0;
padding: 0;
}

练习

width 和 height 只是设置内容的大小 不是标签整体大小
如果标签的内边距,边框都没有,那么内容区的大小就是标签的大小
width 和 height只适用于块级和行级块标签

width: 170px;
height: 170px;
background-color: #00FFFF;

内边距:
就是内容区到边框之间的距离
会影响标签的大小
padding-left/right/bottom/top

/* padding-top: 5px;
padding-left: 5px;
padding-bottom: 5px;
padding-right: 5px; */

padding: 10px; /*设置 上下左右内边距 */

/* padding: 10px 5px; 上下内边距 左右内边距*/

/* padding: 5px 10px 15px 20px; 上 右 下 左 */

/*
标签实际大小 = 内容区 + 内边距 + 边框
*/

/*
边框:就是标签的最外层的框 也是计算在标签大小内的

*/
/* border-bottom-color: red;
border-bottom-width: 1px;
border-bottom-style: solid; */

/* border-bottom: 5px red solid; */

border: 5px red solid;

border-radius: 10px;/*设置圆角边框*/

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-skERhxwY-1601969646982)(2.png)]

<head>
<meta charset="utf-8">
<title></title>
<style type="text/css">.div1{
width: 150px;
height: 50px;
background-color: #008000;
padding: 75px 25px;
}</style>
</head>
<body>
<!--
需要最终200*200大小的标签
有一张150*50图片
让图片在标签中水平垂直居中
-->
<div class="div1">
<img src="img/3.jpg"style="display: block;"/>
</div>
</body>
<style type="text/css">/* 去掉标签的一些默认样式  内边距 外边距 */
*{
margin: 0px;
padding: 0px;
}


.div1{
width: 200px;
height: 200px;
background-color: #008000;
margin-bottom: 50px;
}
.div2{
width: 200px;
height: 200px;
background-color: red;
/* margin-top: 10px; 上下的外边距需要给具体的值*/

/*margin-left: auto;
margin-right: auto; 左右外边距设置为auto时 外边距最大化*/

margin: 10px auto;

/*
外边距就是标签与另一个标签之间的距离
不会影响标签的大小
但会影响标签的位置,影响标签的控制范围
*/
}</style>
</head>
<body>

<div class="div1">
</div>
<div class="div2">
</div>

<p>ssss</p>
</body>


标签:box,标签,border,边框,padding,内边,model,margin,CSS
From: https://blog.51cto.com/u_15850876/5804361

相关文章

  • Django 删除models 中的表
    在models中创建了表,但是又要大改,本想着直接在mysql中删除表后再次makemigrations但发现这样子操作后,进行objects.create操作,发现报错,部分字段不在表中, ......
  • CSS_概述与CSS_与html结合方式
    CSS_概述1.概念:Cascading Style Sheets 层叠样式表层叠:多个样式可以作用在同一个html的元素上,同时生效2.将内容展示和样式控制......
  • reset-css
    浏览器的种类很多,而每个浏览器都有一些自带的或共有的默认样式,对于我们编写的一个页面,在不同的浏览器上却会有不同的展示效果,所以为了让页面获得跨浏览器的兼容性,需要用重......
  • new: 轮播图 | MDN上HTML的总结和CSS面试题解答,以及vue-admin/豆瓣一个静态页面的实现
    主要参看oppo官网https://www.oppo.com/cn/,实现以下功能一、轮播图https://www.cnblogs.com/WindrunnerMax/p/12638005.html通常是在首页读秒播放的图片,本次了解的是opp......
  • CSS3关于背景图片应用的总结
    背景的基本属性background-color(背景颜色)background-image(背景图片)background-repeat(背景图片展示的方式)background-attachment(背景图片滚动还是固定)background-po......
  • CSS3选择器的总结
    CSS3选择器分类通过基本选择器就可以确定HTML树形结构中大多数的DOM元素节点。选择器类型说明*通配选择器选择文档中所有的HTMl元素E元素选择器选择指定类型的HTMl元素#IDI......
  • CSS - flex布局中子元素设置宽度失效
    1使用情景box使用了flex布局,让div1和div2两端对齐,box未设置宽度,其宽度是自适应的,div2的宽度是固定的,div1的宽度理想状态是box的宽度减去div2的固定宽度。简单来说就是要......
  • sass和scss的区别
    首先注意,这里的sass和我们的scss是什么关系sass和scss其实是一样的css预处理语言,SCSS是Sass3引入新的语法,其后缀名是分别为.sass和.scss两种。SASS版本3.0之前的......
  • chrome: css:transform:scale时部分缩放比例相邻图片间有间隔缝隙(chrome 106.0.5249.
    一,问题的表现:页面上左右两个div,里面各有一张图片,图片是相邻的,在页面上应该象一张图一样显示,代码如下:<!--background:#000000;--><divstyle="width:100%;heigh......
  • asp.net core6.0 model 搭建基架项目报错 解决办法
    1、可以参考以下博文方法试一试https://blog.csdn.net/Jinguagua/article/details/103784190https://blog.csdn.net/huzimu_/article/details/120061372http://www.zhou......