博客列表 >HTML CSS 盒模型知识讲解

HTML CSS 盒模型知识讲解

写代码的张先森
写代码的张先森原创
2020年06月18日 16:58:26898浏览

一、CSS盒模型属性


1.盒模型示例代码:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>盒模型</title>
  7. <style>
  8. .box {
  9. /* 宽 高 内容区 */
  10. width: 200px;
  11. height: 200px;
  12. }
  13. .box.one {
  14. /* 外边距 */
  15. margin-top: 40px;
  16. /* 内边距 */
  17. padding: 40px;
  18. /* 边框 */
  19. border: 5px solid #000;
  20. background-color: lightseagreen;
  21. /*属性规定背景的绘制区域。content-box 内容区*/
  22. background-clip: content-box;
  23. }
  24. </style>
  25. </head>
  26. <body>
  27. <!-- 块级元素默认垂直排列 -->
  28. <div class="box one"></div>
  29. </body>
  30. </html>

示例效果图:

1.margin 外边距

概念:margin属于盒模型外面的空间,或者是位于盒模型与文档中其他元素之间的区域,或者是盒模型与浏览器窗口之间的区域。margin在盒模型外围的,margin的大小不会对盒模型本身的大小造成影响。经常应用于页面布局盒子与盒子之间的距离

属性:margin-top(上外边距)、margin-right(右外边距)、margin-bottom(下外边距)、margin-left(左外边距)

值:支持length、百分比、auto

用法:
margin设置方法:
1: margin:10px 四周(上,右,下,左)
2: margin:10px 20px 上下 左右
3: margin:10px 20px 30px 上 左右 下
4:margin:10px 20px 30px 40px 上右下左
5:让子元素在父元素里面左右居中:margin:0 auto;
6.让子元素在父元素里面水平垂直居中

定位元素的水平与垂直对齐示例 须用到定位认真看代码注释:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>margin:auto: 块元素元素的垂直居中</title>
  7. <style>
  8. .container {
  9. width: 300px;
  10. height: 300px;
  11. background-color: lightgreen;
  12. /* 父级转为定位元素 */
  13. position: relative;
  14. }
  15. .container .item {
  16. width: 100px;
  17. height: 100px;
  18. background-color: violet;
  19. /* 子级通过绝对定位来实现垂直居中 */
  20. position: absolute;
  21. /* 让当前元素绝对定位的上下文充满整个父级容器 */
  22. /* 左上角开始 */
  23. top: 0;
  24. left: 0;
  25. /* 右下角结束 */
  26. right: 0;
  27. bottom: 0;
  28. /* 水平垂直居中 */
  29. margin: auto;
  30. }
  31. </style>
  32. </head>
  33. <body>
  34. <div class="container">
  35. <div class="item"></div>
  36. </div>
  37. </body>
  38. </html>

效果图:

2.padding 内边距

概念:padding内边距是元素的内容和边框之间的区域

说明
1.调整子元素在父元素里的位置
2.padding设置值会把盒子撑大
3.要想盒子保持原有大小 宽高须减去padding的值

值:支持length、百分比

用法:
padding设置方法:
padding:10px 四周
padding:10px 20px 上下 左右
padding:10px 20px 30px 上 左右 下
padding:10px 20px 30px 40px 上右下左

3.border 边框

概念:border用来控制盒边框的宽度,样式,颜色。

属性:值(不支持百分比)常用px

用法:
border:10px solid red;
border-width:10px;
border-style:solid;
border-color:red;

1:线性: solid(实线) dashed(虚线) dotted(点状线) double(双线) none/0(没有边框)

2:给单一一个方向添加边框:
border-left/right/top/bottom:10px solid yellow;

3:边框设置方法;
border:solid red;
border-width:;

一个值:四周
两个值:上下 左右
三个值:上 左右 下
四个值:上右下左

4:transparent; 代替颜色值为透明

二、元素大小的重新计算-box-sizing


概念:box-sizing 通俗易懂就是重新计算盒子大小

用法:
1.box-sizing: content-box; 默认值 以内容区为准
2.box-sizing: border-box; 以边框为准

第一种是默认的我们就不说了 不设置就是默认 重点说下第二种

同样的代码盒子宽200高180设置的都一样 看以下例子:
1.不加box-sizing: border-box;的盒子效果:

上图我们可以看到不加box-sizing: border-box;的话盒子的大小是内容+内边距+边框+外边距的总和 超出了我们实际想要的盒子大小

2.加上box-sizing: border-box;的盒子效果:

上图我们可以看到加上box-sizing: border-box;的话盒子的大小是内容+内边距+边框+外边距的总和 大小还是我们设置的大小

我们可以看到可以重新设置盒子的大小

小结


1.理解盒模型常用属性margin,border,padding
2.理解怎么利用margin和定位技术对盒子进行水平垂直居中
3.理解元素大小的重新计算,box-sizing的用法

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议