分享

HTML第五课——css盒子模型【2】

 孟船长 2022-02-24

首先要感谢这段时间我没有更新还给我发赞赏的朋友!谢谢@NLJY的饮料,selenium框架我一会就发给你哈~~~谢谢@zuz5的赞赏!大家能在这里学到一点东西,我就没有白写。谢谢大家的关注!


继续讲我们的盒子模型

由于现在浏览器有可能会自动给你的代码加上margin或者padding,我们经常在css文件中先设置一下这两个属性值为0:

html, body{
    margin: 0px;
    padding: 0px;
}

此时,我们再看一下,样式(把上次的代码再给大家粘贴一下):

lesson4.html

<!DOCTYPE html>
<html>
<head>    <meta charset="utf-8">    <title>Css盒子模型</title>    <meta name="keywords" content="key1, key2">    <meta name="description" content="">    <link rel="stylesheet" type="text/css" href="css/index.css">
</head>
<body>    <div id="mydiv">我的css盒子测试模型</div>
</body>
</html>

index.css

*{
}

html, body{
   margin: 0px;    
   padding: 0px;
}

#mydiv{
   width: 100px;    
   height: 100px;    
   background-color: #000;    
   color:#fff;    
   padding: 10px 20px;    
   border-top: 10px solid #f00;    
   border-left: 10px solid #0f0;    
   border-right: 10px solid #00f;    
   border-bottom: 10px solid #bbb;
}

此时,样式就会紧贴着浏览器边缘了:

有时候我们也会这样写:

index.css

*{
    margin: 0px;
    padding: 0px;
}

html,body{
    width: 100%;
    height: 100%;
}

#mydiv{
    width: 100px;
    height: 100px;
    background-color: #000;
    color:#fff;
    padding: 10px 20px;
    border-top: 10px solid #f00;
    border-left: 10px solid #0f0;
    border-right: 10px solid #00f;
    border-bottom: 10px solid #bbb;
}

这样一来,我们盒子模型的大小就会随着浏览器窗口的大小而自适应了。
再来说一下外边距——margin,我们修改我们的代码为:

lesson4.html

<!DOCTYPE html>
<html>
<head>    <meta charset="utf-8">    <title>Css盒子模型</title>    <meta name="keywords" content="key1, key2">    <meta name="description" content="">    <link rel="stylesheet" type="text/css" href="css/index.css">
</head>
<body>    <div class="mydiv">我的css盒子测试模型1</div>    <div class="mydiv">我的css盒子测试模型2</div>
</body>
</html>

index.css

*{
    margin: 0px;
    padding: 0px;
}

html,body{
    width: 100%;
    height: 100%;
}

div.mydiv{
    width: 100px;
    height: 100px;
    background-color: #000;
    color:#fff;
    padding: 10px 20px;
    border-top: 10px solid #f00;
    border-left: 10px solid #0f0;
    border-right: 10px solid #00f;
    border-bottom: 10px solid #bbb;
}

我们看一下效果:

两个盒子分别在两行出现,那么如果我想把这两个盒子放到一行,我要怎么办呢?我的第一个想法是把display属性改为inline,但是发现改后样式变为:

这是因为行内元素是不能修改宽和高的,这时候我们用display: inline-block就可以了:

现在又出现了另一个问题,就是大家发现上面两个盒子中间多了一个空白的地方,而且空白地方无法选中,说实话如果你用inline-block那么中间这个间距就是默认自带的了(如果非要去掉就要加float: left或者margin: -10;)。

现在我们盒子和浏览器边缘是没有间距的,现在我们希望它离浏览器有一段距离,我们加一个margin: 10px;属性,然后再看:

我们看到它和浏览器之间有了边距,我们再来看一下现在盒子的大小:

盒子现在的大小是160*140

可以看到盒子的大小是没有计算最外层的margin属性的也就是

160=100+20*2+10*2;140=100+10*2+10*2

所以说margin是盒子的外边距,在盒子外面,不算做盒子大小的。

现在大家就掌握了盒子模型的所有基础概念了。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多