Blogger Information
Blog 16
fans 0
comment 1
visits 16927
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
列间隙的两种设置方案和等高列的解决案例
半生
Original
981 people have browsed it

列间隙的两种设置方法和异同

  • 添加列间隙其实就是添加外边距(margin),当然可以左列加,也可以给右列加。
  • 添加列间距有两种方法:1.百分比,2.百分比 + em

  • 实例代码如下:
    ` <style>

    1. /* 添加背景颜色 */
    2. body {
    3. background-color: lightgoldenrodyellow;
    4. }
    5. header {
    6. color: lightgray;
    7. background-color: green;
    8. /* 设置圆角 */
    9. border-radius: 0.5em;
    10. }
    11. /* 这里使用群组选择器,同时匹配多个元素 */
    12. .main,
    13. .sidebar {
    14. background-color: ivory;
    15. border-radius: 0.5em;
    16. /* 这里使用浮动来实现 */
    17. float: left;
    18. /* 将w3c的盒子转为ie盒子:盒子大小包括了追加的padding,border */
    19. box-sizing: border-box;
    20. }
    21. .sidebar {
    22. /* 设置内边距 */
    23. padding: 1.5em;
    24. }
    25. /* 设置左侧main:使用相对值 x ,不管页面如何变化,
    26. 它始终占据页面的宽度的 x */
    27. .main {
    28. width: 70%;
    29. }
    30. /* sidebar占据右侧 ,同样给相对值*/
    31. .sidebar {
    32. /* 添加列间隙:其实就是添加margin(外边距),可以在左列加,也可以加在右列 */
    33. /* 添加列间隙有两种方式:1.百分比。2.百分比 + em */
    34. /* 这里使用百分比 */
    35. width: 29%;
    36. margin-left: 1%;
    37. }
    38. /* 这里示例百分比 + em */
    39. /* 百分比 + em :使用到函数【 calc(x + y)】,"+"操作数前面必须要有“空格” */
    40. .sidebar {
    41. width: calc(30% - 1em);
    42. /* 保证间隙是固定的,(相对于当前字号) */
    43. margin-left: 1em;
    44. }

    </style>`


  • 效果图

  • 总结:
  • 1.添加列间距有两种方法:1.百分比,2.百分比 + em
  • 2.百分比 + em,包含一个函数[ calc(x + y)],” + “操作数前必须加“空格”
  • 3.百分比:添加的列间隙是随着盒子大小变化而变化,它一直占据页面的 “ % ”。
  • 4.百分比 + em:添加的列间隙是固定的,但它随着字号大小变化而变化。因为是ie盒子,所以它的宽度=box-sizing,间距= % - em。
  • 5.无论哪种方法它们的效果都是一样的。

等高列解决案例

  • 设置列的等高:1.首先我们将容器转为table(表格)类型,在表格中表格宽高默认为表格内容决定,不像块级元素充满父级元素的整个空间,所以我们必须自己自定义。
  • 2.在table(表格中不支持margin),所以设置表格列间距/单元格间隙用(border-spacing:0 0),表格中单元格间隙有左右两个,所以我们赋予两个值。
  • 3.将表格(table)中每一列都转为单元格就会默认等高,这时我们的等高列就实现了。
  • 4.这时因为单元格的特性:当我们给它设置单元格间隙后,表格两边都会缩进所设置单元格间隙的值,所以我们要在容器的外面在加一个容器,给该容器左右设置一个负的表格中单元格间隙的值来进行调整。

  • 实例代码如下:
    `<!DOCTYPE html>
    <html lang="">
    <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>等高列的解决方案:表格</title>
    <style>

    1. body {
    2. background-color: lavender;
    3. }
    4. .box,
    5. .box1 {
    6. height: 10em;
    7. background-color: rgb(141, 141, 243);
    8. /* 设置圆角 */
    9. border-radius: 0.5em;
    10. }
    11. .box {
    12. width: 60%;
    13. }
    14. /* 将容器转为table(表格) */
    15. .container {
    16. display: table;
    17. /* 表格宽高默认由内容决定,并不会像块元素那样充满
    18. 父级容器的全部空间 */
    19. /* 设置宽度 */
    20. width: 100%;
    21. /* 表格中不支持margin:列间隙/单元格间隙 */
    22. /* 表格设置列间距用:borde-spacing */
    23. /* 表格列间距左右两边都有 */
    24. border-spacing: 1.5em 0;
    25. }
    26. /* 将每一列转为单元格元素 */
    27. .box,
    28. .box1 {
    29. /* 转为单元格后就默认等高了,于是等高就实现了 */
    30. display: table-cell;
    31. }
    32. /* 给这个table类似的容器外面套一个壳,利用负的外边距进行跳整 */
    33. .wrapper {
    34. /* 左外边距 */
    35. margin-left: -1.5em;
    36. /* 右外边距 */
    37. margin-right: -1.5em;
    38. }

    </style>
    </head>
    <body>
    <div class="wrapper">

    1. <div class="container">
    2. <div class="box"></div>
    3. <div class="box1"></div>
    4. </div>

    </div>
    </body>
    </html>`


  • 效果图
Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:列间隙,是没有flex,grid的蛮荒时代, 比较麻烦的
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