当前位置:   article > 正文

【web前端HTML5+CSS3】03CSS--layout(布局)之盒模型_layout标签 html5

layout标签 html5

目录

1.文档流

2.盒模型

3.盒模型--边框

4.盒模型--内边距

5.盒模型--外边距

6.盒子的水平布局

7.盒子的垂直布局

8.外边框的折叠

9.行内元素的盒模型

10.默认样式

11.练习

  01.京东图片列表

  02.京东左侧导航栏

  03.网易新闻列表

12.盒子的尺寸

13.轮廓和圆角


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. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>Document</title>
  8. <style>
  9. .box1{
  10. width: 100px;
  11. background-color: yellow;
  12. }
  13. .box2{
  14. width: 100px;
  15. background-color: red;
  16. }
  17. span{
  18. background-color: #bfa;
  19. }
  20. </style>
  21. </head>
  22. <body>
  23. <!--
  24. 文档流(normal flow)
  25. - 网页是一个多层的结构,一层摞着一层
  26. - 通过CSS可以分别为每一层来设置样式
  27. - 作为用户来讲只能看到最顶上一层
  28. - 这些层中,最底下的一层称为文档流,文档流是网页的基础
  29. 我们所创建的元素默认都是在文档流中进行排列
  30. - 对于我们来元素主要有两个状态
  31. 在文档流中
  32. 不在文档流中(脱离文档流)
  33. - 元素在文档流中有什么特点:
  34. - 块元素
  35. - 块元素会在页面中独占一行(自上向下垂直排列)
  36. - 默认宽度是父元素的全部(会把父元素撑满)
  37. - 默认高度是被内容撑开(子元素)
  38. - 行内元素
  39. - 行内元素不会独占页面的一行,只占自身的大小
  40. - 行内元素在页面中左向右水平排列,如果一行之中不能容纳下所有的行内元素
  41. 则元素会换到第二行继续自左向右排列(书写习惯一致)
  42. - 行内元素的默认宽度和高度都是被内容撑开
  43. -->
  44. <div class="box1">我是div1</div>
  45. <div class="box2">我是div2</div>
  46. <span>我是span1</span>
  47. <span>我是span2</span>
  48. <span>我是span2</span>
  49. <span>我是span2</span>
  50. <span>我是span2</span>
  51. <span>我是span2</span>
  52. <span>我是span2</span>
  53. <span>我是span2</span>
  54. <span>我是span2</span>
  55. <span>我是span2</span>
  56. </body>
  57. </html>

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. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>Document</title>
  8. <style>
  9. .box1{
  10. /*
  11. 内容区(content),元素中的所有的子元素和文本内容都在内容区中排列
  12. 内容区的大小由width 和 height两个属性来设置
  13. width 设置内容区的宽度
  14. height 设置内容区的高度
  15. */
  16. width: 200px;
  17. height: 200px;
  18. background-color: #bfa;
  19. /*
  20. 边框(border),边框属于盒子边缘,边框里边属于盒子内部,出了边框都是盒子的外部
  21. 边框的大小会影响到整个盒子的大小
  22. 要设置边框,需要至少设置三个样式:
  23. 边框的宽度 border-width
  24. 边框的颜色 border-color
  25. 边框的样式 border-style
  26. */
  27. border-width: 10px;
  28. border-color: red;
  29. border-style: solid;
  30. }
  31. </style>
  32. </head>
  33. <body>
  34. <!--
  35. 盒模型、盒子模型、框模型(box model)
  36. - CSS将页面中的所有元素都设置为了一个矩形的盒子
  37. - 将元素设置为矩形的盒子后,对页面的布局就变成将不同的盒子摆放到不同的位置
  38. - 每一个盒子都由一下几个部分组成:
  39. 内容区(content)
  40. 内边距(padding)
  41. 边框(border)
  42. 外边距(margin)
  43. -->
  44. <div class="box1"></div>
  45. </body>
  46. </html>

3.盒模型--边框

  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. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>Document</title>
  8. <style>
  9. .box1{
  10. width: 200px;
  11. height: 200px;
  12. background-color: #bfa;
  13. /*
  14. 边框
  15. 边框的宽度 border-width
  16. 边框的颜色 border-color
  17. 边框的样式 border-style
  18. */
  19. /*
  20. border-width: 10px;
  21. 默认值,一般都是 3个像素
  22. border-width可以用来指定四个方向的边框的宽度
  23. 值的情况
  24. 四个值:上 右 下 左
  25. 三个值:上 左右 下
  26. 两个值:上下 左右
  27. 一个值:上下左右
  28. 除了border-width还有一组 border-xxx-width
  29. xxx可以是 top right bottom left
  30. 用来单独指定某一个边的宽度
  31. */
  32. /* border-width: 10px; */
  33. /* border-top-width: 10px;
  34. border-left-width: 30px; */
  35. color: red;
  36. /*
  37. border-color用来指定边框的颜色,同样可以分别指定四个边的边框
  38. 规则和border-width一样
  39. border-color也可以省略不写,如果省略了则自动使用color的颜色值
  40. */
  41. /* border-color: orange red yellow green;
  42. border-color: orange; */
  43. /*
  44. border-style 指定边框的样式
  45. solid 表示实线
  46. dotted 点状虚线
  47. dashed 虚线
  48. double 双线
  49. border-style的默认值是none 表示没有边框
  50. */
  51. /* border-style: solid dotted dashed double;
  52. border-style: solid; */
  53. /* border-width: 10px;
  54. border-color: orange;
  55. border-style: solid; */
  56. /*
  57. border简写属性,通过该属性可以同时设置边框所有的相关样式,并且没有顺序要求
  58. 除了border以外还有四个 border-xxx
  59. border-top
  60. border-right
  61. border-bottom
  62. border-left
  63. */
  64. /* border: solid 10px orange; */
  65. /* border-top: 10px solid red;
  66. border-left: 10px solid red;
  67. border-bottom: 10px solid red; */
  68. border: 10px red solid;
  69. border-right: none;
  70. }
  71. </style>
  72. </head>
  73. <body>
  74. <div class="box1"></div>
  75. </body>
  76. </html>

4.盒模型--内边距

  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. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>Document</title>
  8. <style>
  9. .box1{
  10. width: 200px;
  11. height: 200px;
  12. background-color: #bfa;
  13. border: 10px orange solid;
  14. /*
  15. 内边距(padding)
  16. - 内容区和边框之间的距离是内边距
  17. - 一共有四个方向的内边距:
  18. padding-top
  19. padding-right
  20. padding-bottom
  21. padding-left
  22. - 内边距的设置会影响到盒子的大小
  23. - 背景颜色会延伸到内边距上
  24. 一共盒子的可见框的大小,由内容区 内边距 和 边框共同决定,
  25. 所以在计算盒子大小时,需要将这三个区域加到一起计算
  26. */
  27. /* padding-top: 100px;
  28. padding-left: 100px;
  29. padding-right: 100px;
  30. padding-bottom: 100px; */
  31. /*
  32. padding 内边距的简写属性,可以同时指定四个方向的内边距
  33. 规则和border-width 一样
  34. */
  35. padding: 10px 20px 30px 40px;
  36. padding: 10px 20px 30px ;
  37. padding: 10px 20px ;
  38. padding: 10px ;
  39. }
  40. .inner{
  41. width: 100%;
  42. height: 100%;
  43. background-color: yellow;
  44. }
  45. </style>
  46. </head>
  47. <body>
  48. <div class="box1">
  49. <div class="inner"></div>
  50. </div>
  51. </body>
  52. </html>

5.盒模型--外边距

  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. <meta http-equiv="X-UA-Compatible" content="ie=edge">
  7. <title>Document</title>
  8. <style>
  9. .box1{
  10. width: 200px;
  11. height: 200px;
  12. background-color: #bfa;
  13. border: 10px red solid;
  14. /*
  15. 外边距(margin)
  16. - 外边距不会影响盒子可见框的大小
  17. - 但是外边距会影响盒子的位置
  18. - 一共有四个方向的外边距:
  19. margin-top
  20. - 上外边距,设置一个正值,元素会向下移动
  21. margin-right
  22. - 默认情况下设置margin-right不会产生任何效果
  23. margin-bottom
  24. - 下外边距,设置一个正值,其下边的元素会向下移动
  25. margin-left
  26. - 左外边距,设置一个正值,元素会向右移动
  27. - margin也可以设置负值,如果是负值则元素会向相反的方向移动
  28. - 元素在页面中是按照自左向右的顺序排列的,
  29. 所以默认情况下如果我们设置的左和上外边距则会移动元素自身
  30. 而设置下和右外边距会移动其他元素
  31. - margin的简写属性
  32. margin 可以同时设置四个方向的外边距 ,用法和padding一样
  33. - margin会影响到盒子实际占用空间
  34. */
  35. /* margin-top: 100px;
  36. margin-left: 100px;
  37. margin-bottom: 100px; */
  38. /* margin-bottom: 100px; */
  39. /* margin-top: -100px; */
  40. /* margin-left: -100px; */
  41. /* margin-bottom: -100px; */
  42. /* margin-right: 0px; */
  43. margin: 100px;
  44. }
  45. .box2{
  46. width: 220px;
  47. height: 220px;
  48. background-color: yellow
  49. }
  50. </style>
  51. </head>
  52. <body>
  53. <div class="box1"></div>
  54. <div class="box2"></div>
  55. </body>
  56. </html>

6.盒子

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/运维做开发/article/detail/856939
推荐阅读
相关标签
  

闽ICP备14008679号