美文网首页
CSS盒子模型

CSS盒子模型

作者: _羊羽_ | 来源:发表于2019-06-22 13:36 被阅读0次

网页的布局本质就是把网页的元素(图片,文字都)都放入盒子里面,然后按照自己的需要摆放盒子的过程就是网页布局。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
       div{
           width: 100px;
           height: 100px;
           background-color: cadetblue;
           padding: 20px;
           border: red 10px solid;
       }
    </style>
</head>
<body>
<div>盒子模型展示</div>
</body>
</html>
image.png

边框border

边框有三部分组成:边框大小 边框样式(dashed 虚线 dotted 点线 double 双实线) 边框颜色;

 border: 10px solid red;

如果想要单独某一条边框的写法top bottom left right

border-方位名词:边框大小 边框样式 边框颜色;
border-top:10px solid gray;

边框是一个复合属性,每一个部分都可以有单独的属性去控制

边框大小;border-width
边框样式:border-style
边框颜色:border-color

细线表格
border-collapse:collapse;
设置圆角
borde-radius:值; 一个值控制的上左 上右 下右 下左;

borde-radius:50%

内边距padding

padding的取值可以是1-4个
一个值:控制整个上下左右
两个值:第一个控制上下 第二个控制左右
三个值:第一个控制的上 第二个控制的左右 第三个控制的下
四个值:上右下左
单个方向的取值 padding-方位名称

padding-top
padding-bottom
padding-left
padding-right

需要注意的是行内元素里面不要写上下padding,左右可以

外边距margin

1.margin的取值方式和padding一样
2.margin的大小只会移动盒子的位置,并不会对盒子的大小造成影响(特殊情况例外)
3.行内元素也不要给上下的margin
4 auto 实现块级元素水平居中显示

margin: 0 auto;

eg:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
       .box{
           width: 100px;
           height: 100px;
           background-color: red;
           margin: 0 auto;
       }
    </style>
</head>
<body>
<div class="box">盒子水平居中</div>
</body>
</html>

使用auto前提条件:必须是块级元素 同时必须有固定的width。
text-align和margin区别
两者都可以是实现水平居中
text-align是控制盒子内部的文字或者内部的行内块
margin:0 auto的不同 前者控制的是盒子本身
实现清除内外边距

* { 
    padding: 0;
    margin: 0; 
}

相邻块元素垂直外边距的合并

当上下相邻的两个块元素相遇时,如果上面的元素有下外边距margin-bottom,
下面的元素有上外边距margin-top,则他们之间的垂直间距不是margin-bottom与margin-top之和
而是两者中的较大者。这种现象被称为相邻块元素垂直外边距的合并。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
       .box1{
            width: 100px;
            height: 100px;
            background-color: red;
           margin-bottom: 50px;

        }
       .box2{
           width: 100px;
           height: 100px;
           background-color: green;
           margin-top: 50px;
       }
    </style>
</head>
<body>
<div class="box1">盒子1</div>
<div class="box2">盒子2</div>
</body>
</html>

image.png

嵌套块元素垂直外边距的合并

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

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
       .box1{
            width: 100px;
            height: 100px;
            background-color: red;
        }
       .box2{
           width: 100px;
           height: 50px;
           background-color: green;
           margin-top: 50px;
       }
    </style>
</head>
<body>
<div class="box1">
    <div class="box2"></div>
</div>
</body>
</html>
image.png

解决方案:
1不要给子元素margin-top 给父元素添加padding-top
2给父容器添加上边框或者上padding
3 给父元素添加overflow:hidden。

在实际工作中,我们很难直接得到盒子的内容的大小,所以我们会直接将整个盒子量出来,在后续如果需要添加padding的情况下 一定要减掉 padding。
如果这个块级盒子没有width属性(从父级继承宽度)的时候,添加padding和border不会撑大盒子(盒子内容部分会自动压缩)

相关文章

  • CSS 盒子模型

    CSS盒子模型 盒子模型边框 CSS盒子模型的宽度和高度 CSS模型的填充 CSS盒子模型的边界 填充和边界的区别

  • 2019-05-05

    基于CSS盒子模型及其CSS定位详解 CSS盒子模型 效果显示 盒子模型的简单应用 效果显示: CSS定位 效果显示

  • css基础问题

    介绍css的盒子模型 css的盒子模型有两种:IE盒子模型,W3C盒子模型盒子模型:内容(content),内边距...

  • css 盒子模型

    1.css 盒子模型(css box model) 所有的html元素本质上都是盒子模型。在css 中,盒子模型常...

  • html页面绘制方面

    1.css盒子模型 CSS css盒子模型 又称框模型 (Box Model) ,包含了元素内容(content...

  • CSS:盒子模型(box)

    盒子模型(CSS 重点) css 学习三大重点: css 盒子模型 、 浮动 、 定位 主题思路: 目标...

  • 你需掌握的CSS知识都在这了(长文建议收藏,文末有福利)

    1.CSS盒模型,在不同浏览器的差异 css 标准盒子模型 css盒子模型 又称为框模型(Box Model),包...

  • 需要掌握的CSS

    1.CSS盒模型,在不同浏览器的差异 css 标准盒子模型 css盒子模型 又称为框模型(Box Model),包...

  • CSS的基本使用

    1.CSS盒模型,在不同浏览器的差异 css 标准盒子模型 css盒子模型 又称为框模型(Box Model),包...

  • 前端一些面试题

    HTML 和 CSS 面试题 盒子模型 CSS 中盒子模型包括 IE 盒子模型和标准的 W3C 盒子模型。W3C ...

网友评论

      本文标题:CSS盒子模型

      本文链接:https://www.haomeiwen.com/subject/wqdgfctx.html