博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Web前端从入门到精通-11 css简介——盒模型3
阅读量:5280 次
发布时间:2019-06-14

本文共 1251 字,大约阅读时间需要 4 分钟。

欢迎大家回来,上节课我们又说了margin的一个bug

那就是子元素的margin-top会传递给父元素

解决方案也已经给出来了,在此不再废话

此外还说了默认样式的清零,这个的话我个人感觉无所谓了

平时自己写代码测试的时候就直接上*{margin:0; padding:0;}

之前我们讲解盒模型的时候一直都是拿div举例子

那么我们知道,div天生就是个块元素

所以我们之前见到的那一堆margin、padding的规则都是针对块元素的

那不知道大家有没有自己测试过内嵌元素的盒模型

我们接下来就和大家一起测试一下内嵌元素的盒模型

    
xxx a链接

浏览器中预览,F12

在这里的,我只是想告诉大家

盒模型并不是只有块元素才有

内联元素也可以有盒模型,但是内联的盒模型体现的不是特别好

也是由于这个原因,我们平时很少直接给内联元素加margin或者padding

注意,我说的是直接给内联元素加

既然这样,那证明还是有办法让我们的内联元素完好的支持盒模型的

解决的方案就是将内联变成块

在前面我们曾经介绍过了,html元素分为块元素和内联元素

实际上这是浏览器默认给我们的结果

也就是说,如果我们不做任何处理,浏览器就默认div是块,a是内联

但其实元素是块还是内联是可以在CSS中通过一个样式属性控制的

这个样式属性就是display

display如果设置成inline,那就是内联,设置成block,那就是块

换句话说,我们再给上面的a标签加一条display:block;

就可以将其转换为一个块元素

加上之后,效果如下

我们可以给a加上width和height进一步验证我们的猜想

.aaa{
padding:10px; background: gray; border:1px solid black; margin:10px; display: block; width:100px; height: 100px;}

现在,它就变得支持宽高了

其实这种操作在我们平时用的也不是很多

因为如果你需要一个块元素的时候直接用块元素

需要内联元素的时候就用内联元素就可以了

干嘛非得转来转去的呢

好的,到目前为止,我们的盒模型终于可以告一段落了

我们可以总结一下

元素本身就有一个width,height

但是这个width和height并不一定是它在浏览器上所占的位置的大小

在width和height的外面可能会有一圈padding

在padding的外面还可能会有一圈border

在border的外面还可能会有一圈margin

说到这里,我们就不得不再一次提到我们chrome浏览器强大的F12

好的,这节课我们对盒模型的最后一点内容作了介绍

并简单总结了盒模型的结构

有了这些基础之后我们可以牛刀小试一把了

我们下节课再见

 

转载于:https://www.cnblogs.com/zhaohuiziwo901/p/4784141.html

你可能感兴趣的文章
Callable和Runnable和FutureTask
查看>>
GitHub 多人协作开发 三种方式:
查看>>
文本域添加编辑器
查看>>
Yum安装MySQL以及相关目录路径和修改目录
查看>>
java获取hostIp和hostName
查看>>
关于web服务器和数据库的各种说法(搜集到的)
查看>>
C# Stream 和 byte[] 之间的转换
查看>>
OMG: daily scrum nine
查看>>
redis与spring结合错误情况
查看>>
第六章 字节码执行方式--解释执行和JIT
查看>>
字符串方法title()、istitle()
查看>>
yield语句
查看>>
查看linux系统中占用cpu最高的语句
查看>>
[洛谷P1738]洛谷的文件夹
查看>>
ubuntu server设置时区和更新时间
查看>>
【京东咚咚架构演进】-- 好文收藏
查看>>
【HTML】网页中如何让DIV在网页滚动到特定位置时出现
查看>>
文件序列化
查看>>
jQuery之end()和pushStack()
查看>>
Bootstrap--响应式导航条布局
查看>>