其实深入解析与优化:CSS 盒模型最佳实践的问题并不复杂,但是又很多的朋友都不太了解,因此呢,今天小编就来为大家分享深入解析与优化:CSS 盒模型最佳实践的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!
如果您觉得这篇文章不错,可以在H5专题里查看更多相关文章。
首先,对于更新的延迟,我深表歉意。我因公务被派往上海,所以耽搁了几天。以后我会尽力按时更新。
今天的课程主要介绍了盒模型的基本概念,同时也告诉大家盒模型的具体元素的组成。定位将在最后介绍。
今日课程预览
在此写下图片描述
CSS 盒模型 概述
你首先看到什么?
有月饼和月饼盒吧?
所以,我们今天的课叫《月饼盒引起的思考》。
yuebing 你第一眼看到的是什么?
是不是一个盒子,很像我们中秋节用来包装月饼的月饼盒吧?
两个蛋糕盒之间的距离就是我们要介绍的——边距。
我们每一个蛋糕都必须有一个最外层的包装盒,这个包装盒的厚度就是我们的边界。
那我们的月饼总不能都直接挨着吧?每个月饼之间的间距称为--padding。
然后我们介绍了月饼盒,这是我们放月饼时应该有的。
是的,我们月饼的宽度是——宽度。
高度为--height。
而我们的月饼就叫——元。
CSS 框内边距、边框和边距都是可选的,默认值为零。
然而,许多元素将具有由用户代理样式表设置的边距和填充。
可以通过将元素的边距和填充设置为零来覆盖这些浏览器样式。
这可以单独完成,也可以使用所有元素的通用选择器来完成:
* {
边距: 0;
填充: 0;
}在CSS中,宽度和高度是指内容区域的宽度和高度。
增加内边距、边框和边距不会影响内容区域的大小,但会增加元素框的整体大小。
假设该框每边有10 个像素的边距和5 个像素的填充。
如果希望元素框为100像素,则需要将内容的宽度设置为70像素,如下图:
css_2提示:内边距、边框和外边距可以应用于一个元素的所有边,也可以应用于单独的边。提示:外边距可以是负值,而且在很多情况下都要使用负值的外边距。
代码和效果演示
在网页中添加div标签并设置class的值
HTML代码: 我是div
设置自身大小
通常使用类选择器来设置属性值,首先width(宽度),hegiht(高度),background-color(背景色)
CSS 代码:
.box_model {
宽度: 200px;
高度: 200px;
背景颜色: 青色;
}效果如下:
上面的操作只是添加了一个div标签并设置了文字、大小和颜色。没有什么特殊的操作。接下来,我们继续:
设置padding 内边距
看上图,我们发现文字靠近边框,看起来不是特别友好。如果要添加一些边距,可以使用padding 属性来添加内边距。
CSS 代码:
.box_model {
宽度: 200px;
高度: 200px;
背景颜色: 青色;
/*填充*/
内边距: 20px;
}效果如下:
现在我们已经实现了文本和边框之间的宽度为20像素,看起来不是那么紧凑。
注意:我们修改了padding的值,这会导致div的整体尺寸变大,因为padding属于div的内部。
如果我们想让div保持原来的大小,当我们设置padding为20px时,我们需要修改宽度和高度并分别减去40,以保证div大小不变。
设置border 边框
看到这样的色块比较单调,我们设置一个彩色边框吧。
CSS 代码:
.box_model {
宽度: 200px;
高度: 200px;
背景颜色: 青色;
/*填充*/
内边距: 20px;
/*框架*/
border: 50px 纯黑色;
}渲染如下:
设置了非常变态的50像素边框后,你会看到下面的效果。通常,边框不会有这么大的值,1像素就够了
当设置了border值后,div标签的大小也会增加。边框也属于div本身
设置margin 外边距
边距的主要作用是设置该标签与其他标签之间的距离。
我们先看一下当我们不添加外边框代码时,div在浏览器中是什么样子的。
大家发现div标签的上下两侧有一个空格。这个空间就是主体间距值(8px)。暂时忽略它。
然后我们添加保证金代码
CSS 代码:
.box_model {
宽度: 200px;
高度: 200px;
背景颜色: 青色;
/*填充*/
内边距: 20px;
/*框架*/
border: 50px 纯黑色;
/*边距*/
边距: 50px;
}添加代码后效果如下:
现在,div标签距离浏览器的顶部和左侧很远,因为我们设置了外边框。
注意事项
看一下下面的情况:
上面的div和下面的div标签的边距都是50px,但是我们可以注意到顶部和底部的间距不是100px,而是50px。这是为什么呢?
边距的垂直距离不相加,而是取较大的值。
例如:如果上面的标签的边距为100px,下面的标签的边距为80px,那么上下元素之间的距离将为100px,以较大者为准。
这两个元素是垂直排列的,但是如果水平排列呢?
想多了,如果元素水平排列,两个标签之间的间距就是两个元素的边距之和。
属性详写
内边距属性填充padding-leftpadding-toppadding-rightpadding-bottompadding: 20px;表示上、下、左、右内边距均为20px
内边距: 10px 20px;表示顶部和底部内边距为10px,左右内边距为20px。第一个数字代表顶部和底部,第二个数字代表左右填充的值。注意中间有一个空格
边框属性border: 与同时设置上、下、左、右边框相关
border-left: 与设置左边框相关
border-left-width: 设置左边框的粗细
border-left-color: 设置左边框颜色
border-left-style: 设置左边框的样式
border-top: 与设置上边框相关
border-top-width: 设置上边框的粗细
border-top-color: 设置上边框颜色
border-top-style: 设置顶部边框样式
border-right: 与设置右边框相关
border-right-width: 设置右边框的粗细
border-right-color: 设置右边框颜色
border-right-style: 设置右边框样式
border-bottom: 与设置下边框相关
border-bottom-width: 设置下边框的粗细
border-bottom-color: 设置下边框颜色
border-bottom-style: 设置下边框样式
border: 1px 纯红色;表示上、下、左、右边框的厚度为1px,样式为实心,颜色为红色。
border-left: 2px 双红;意思是设置左边框的粗细为2px,样式为double,颜色为红色。
外边距属性margin: 可同时设置上、下、左、右页边距margin-left: 设置左边距-top: 设置上边距margin-right: 设置右边距margin-bottom: 设置下边距margin: 20px;表示上、下、左、右边距均相等,均为20px
边距: 10px 20px;表示上下边距为10px,左右边距为20px。第一个数字代表顶部和底部,第二个数字代表左右边距的值。注意中间有一个空格
display
显示属性指定元素应生成的框的类型。
该属性用于定义创建布局时元素生成的显示框的类型。
对于HTML 等文档类型,不小心使用显示可能会很危险,因为它可能会违反HTML 中已定义的显示层次结构。
对于XML来说,由于XML没有内置这种层次结构,所以所有的显示都是绝对必要的。
这里我们只介绍四个属性。
*没有任何
*内嵌:行标签,占用面积小
*block :块标签,占一行,宽度和高度可设置
*inline-block : 个块标签,但具有行标签的一些属性
OK,关于深入解析与优化:CSS 盒模型最佳实践和的内容到此结束了,希望对大家有所帮助。
【深入解析与优化:CSS 盒模型最佳实践】相关文章:
2.米颠拜石
3.王羲之临池学书
8.郑板桥轶事十则
用户评论
我一直想了解一下那些盒子的概念,这个话题听起来很有趣!
有8位网友表示赞同!
我对布局一直在学习,CSS盒子模型应该能帮上忙吧?
有17位网友表示赞同!
之前网页设计总会遇到奇怪的错位问题,希望学习了盒子模型能解决这些问题。
有19位网友表示赞同!
原来网页元素也有自己的“房子”,想想还挺有意思。
有12位网友表示赞同!
感觉这个CSS盒子模型有点像程序员在搭建房屋一样厉害!
有6位网友表示赞同!
要设计好看的网页布局吗?盒模型绝对是必备的知识。
有19位网友表示赞同!
学习CSS盒子模型,就能让网页更美观、更容易维护。
有18位网友表示赞同!
这个概念听起来很复杂,但一定要努力理解。
有20位网友表示赞同!
学习编程遇到很多奇怪的问题,希望这个主题能解答我的疑惑。
有12位网友表示赞同!
终于找到学习关于网页布局的资源了,看来我得花时间学习盒模型。
有11位网友表示赞同!
感觉这门技术看起来很有深度,需要好好研究一下。
有5位网友表示赞同!
学习过HTML,现在要来学习CSS盒子模型,这个进步感觉不错!
有18位网友表示赞同!
网站的设计和开发离不开CSS的知识,盒模型也是其中重要的组成部分。
有8位网友表示赞同!
我最近开始学习Web前端,这篇文章正好对我的需求很合适。
有16位网友表示赞同!
想要成为一名合格的网页开发者,掌握CSS盒子模型是必不可少的。
有14位网友表示赞同!
这个话题很有用,让我能更好地理解网页结构和布局。
有9位网友表示赞同!
学习编程的过程中总有各种各样的知识点需要学习,这篇文章正好填补了我的知识漏洞。
有11位网友表示赞同!
了解CSS盒子模型,就能更有效地控制网页元素的展示效果。
有12位网友表示赞同!
期待深入了解这个主题,让我在网页设计上更加得心应手!
有10位网友表示赞同!