Blogger Information
Blog 53
fans 3
comment 0
visits 46788
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
前端盒模型常用属性和元素大小及定位
emagic
Original
927 people have browsed it

0617作业

一、 熟悉盒模型所有常用属性,并举例说明

盒模型基本构成分为,内容区(长*宽),内边距(padding),边框(bording)、外边距(margin)。

盒模型的基本属性
序号 属性 特征
1 width 内容区宽
2 height 内容区高
3 padding 内边距,即内容到边框的距离
4 border 边框宽度
5 margin 外边距,单独设置意义不大,用于设置盒子与其他盒子之间的间距
  • 属性参数是按照 上 右 下 左的顺时针方向设置
    盒模型构成
  1. .box {
  2. /* 宽,高: 内容区 */
  3. width: 200px;
  4. height: 200px;
  5. padding: 10px;
  6. border: 2px solid #000;
  7. background-color: yellow;
  8. background-clip: content-box;
  9. }
  10. .box.one {
  11. padding: 10px;
  12. border: 2px solid #000;
  13. background-color: lightgreen;
  14. background-clip: content-box;
  15. /* margin: top right bottom left; */
  16. /* margin: 0 0 20px 0; */
  17. margin-bottom: 20px;
  18. }
  19. .box.two {
  20. padding: 10px;
  21. border: 2px solid #000;
  22. background-color: lightcoral;
  23. background-clip: content-box;
  24. /* 当二个盒子在垂直方向上,外边距会产生折叠 */
  25. margin-top: 30px;
  26. }

  • background-color:设置背景色
  • background-clip: content-box;只填充内容区,以显示出来padding区域
  • 块级元素默认垂直排列,块级元素会独占一行

  • 当二个盒子在垂直方向上,外边距会产生折叠(也叫坍塌),以大的margin数为准,而不是两个盒子相加。

二、理解元素大小的重新计算: box-sizing的用法,并举例

一般来说
盒子实际宽度=width + padding+ border
盒子实际高度=height+ padding+ border

  • 如果修改padding等属性时,盒子被撑开,盒子的宽度和高度会发生自动变化,在实际开发中影响布局,常用到一个属性box-sizing来固定盒子高宽,不会自动变化,方便布局设计。
    修改前:尺寸和设置的数值不一样了
    1. .box {
    2. width: 200px;
    3. height: 200px;
    4. border: 3px solid #000;
    5. padding: 10px;
    6. background-color: pink;
    7. background-clip: content-box;
    8. }
  • 从尺寸可以看到,盒子尺寸变大,这样页面布局有难以把控

修改后:将边框包含了内容区的宽和高
边框内的长*宽就是设置多少即多少,不会自动变形

  1. .box {
  2. width: 200px;
  3. height: 200px;
  4. border: 3px solid #000;
  5. padding: 10px;
  6. background-color: pink;
  7. background-clip: content-box;
  8. box-sizing: border-box;
  9. }

-box-sizing: 重新计算盒大小
box-sizing: content-box;默认值,以内容区为准
box-sizing: border-box;以边框为准

三、完全理解定位元素的水平与垂直对齐技术, 重点在垂直居中

1.水平居中对齐:

对于块级元素,text-align不适用,要用margin:auto

margin-left:auto;尽量分配左边空间
margin-right:auto;尽量分配右边空间
两个一起使用即可以设置水平居中对齐。

2.水平垂直居中对齐:

通过绝对定位来实现。因为浏览器的高度是无限的,我们要设置一个容器,让当前元素的上下文充满整个容器,从左上角开始,右下角结束,以实现垂直定位。

  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. .container {
  9. width: 300px;
  10. height: 300px;
  11. background-color: lightgreen;
  12. /*因为浏览器的高度是无限的,我们要设置一个容器作为,且父容器转为定位元素 */
  13. position: relative;
  14. }
  15. .container .box {
  16. width: 100px;
  17. height: 100px;
  18. background-color: red;
  19. /* 通过绝对定位来实现垂直居中 */
  20. position: absolute;
  21. /* 这里是关键从左上到右下全部填满。让当前元素绝对定位的上下文充满整个父级容器 */
  22. /* 左上角开始 */
  23. top: 0;
  24. left: 0;
  25. /* 右下角结束 */
  26. right: 0;
  27. bottom: 0;
  28. /* 水平垂直居中 当前元素 margin:上下左右全部为0,自动分配空白部分,这里可以合并写成 margin: auto*/
  29. margin: auto;
  30. }
  31. </style>
  32. </head>
  33. <body>
  34. <div class="container">
  35. <div class="box"></div>
  36. </div>
  37. </body>
  38. </html>

元素的定位需要通过position属性来定位

定位属性 功能
position:relative; 相对定位:以自己原来的位置为参照物进行偏移
position: absolute; 绝对定位:相对于最近的且不是static定位的父元素来定位
position:fixed; 固定定位:相对于浏览器窗口(body)来定位,如广告栏,客服电话一直悬停在某个部分就是用这个fixed
Correcting teacher:WJWJ

Correction status:qualified

Teacher's comments:总结的很认真仔细!继续加油!
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post