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

首先要感谢这段时间我没有更新还给我发赞赏的朋友!谢谢@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是盒子的外边距,在盒子外面,不算做盒子大小的。

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

原文发布于微信公众号 - 自动化测试实战(gh_839e78b6ba28)

原文发表时间:2018-06-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IMWeb前端团队

巧用css实现等比缩放裁切

实用场景 我们想要将后台传过来的图片显示在一个80*80 的容器里,但是由于后台给的图片大小不一致,所以我们要对图片做一个等比缩放然后裁切中间部分显示的处理。举...

2256
来自专栏知晓程序

如何在小程序中绘制图表?

1052
来自专栏拂晓风起

cocos2d-js 粒子系统使用自定义图片,还原原来的图片宽高

631
来自专栏杂七杂八

小程序中rpx与px

pt与px pt称为逻辑分辨率 pt大小与屏幕分辨率有关系,简单可以理解为长度与视觉单位 px是指物理分辨率,与屏幕尺寸没有关系 小程序中的rpx ? 屏幕分辨...

3195
来自专栏Coco的专栏

【技巧篇】解决悬浮的<header>、<footer>遮挡内容的处理技巧

1435
来自专栏十月梦想

HTML5音频audio和视频video用法解析

    html5新增加了2个媒体标签音频(audio)和视频(video),这样就更便于我们进行媒体化元素的内容开发网页!!!

802
来自专栏LeoXu的博客

[翻译]Android教程-保存数据-支持不同的屏幕

为了声明你想要使用在不同屏幕上的布局和位图 , 你必须在不同的路径中放置这些可选的资源 , 这类似于针对不同的语言字符串你所要做的事情 . 你也要也要...

672
来自专栏macOS 开发学习

cocos2d-objc 3.0+ 游戏开发学习手册(五): 纹理打包与CCSpriteFrameCache

在游戏开发中,通常对于性能的处理是比应用型的App要敏感一些.游戏中的操作往往比较频繁而且多数都需要立刻响应,若是性能问题导致用户体验卡顿,算是比较糟糕的情况了...

512
来自专栏程序员的知识天地

H5学习从0到1-H5的框架(13)

H5框架语法介绍 :frame:框架对于页面的设计有很大的作用 frameSet:框架集标签定义如何将窗口分割为框架 ,每一个frameset定义一些列行或者列...

763
来自专栏每日一篇技术文章

weex-19-refresh组件

621

扫码关注云+社区