目录

描述

示例:

CSS 中的 display

CSS 中的 float

CSS 中的 flex


描述

刚刚学完CSS ,导致浮动(float),弹性布局(display:flex)好几个字段配置属性已经分不清了。

display float 就同层级别,都是布局的配置项目。

flex是display一个可选值。

flow :不存在这个值或者配置项。但是由它组成单词倒是有仨:

text-overflow: inherit; //文本溢出如何显示
display: flow-root; //开启BFC, 解决塌陷问题
overflow: hidden; //内容溢出时的设置

示例:

display: flex;     //实现弹性盒子

float: right;        //靠右浮动

在CSS布局中,flex、grid以及float属性的差别是flex属性适用于小的UI元素,grid属性适合用于为网站整体进行布局而float属性适合在较大的文本文章中设置图像。

CSS 中的 display

display 是CSS一个布局的配置项,他可使用值如下:


  1. /* precomposed values */
  2. display: block;
  3. display: inline;
  4. display: inline-block;
  5. display: flex;
  6. display: inline-flex;
  7. display: grid;
  8. display: inline-grid;
  9. display: flow-root;
  10. /* box generation */
  11. display: none;
  12. display: contents;
  13. /* multi-keyword syntax */
  14. display: block flow;
  15. display: inline flow;
  16. display: inline flow-root;
  17. display: block flex;
  18. display: inline flex;
  19. display: block grid;
  20. display: inline grid;
  21. display: block flow-root;
  22. /* other values */
  23. display: table;
  24. display: table-row; /* all table elements have an equivalent CSS display value */
  25. display: list-item;
  26. /* Global values */
  27. display: inherit;
  28. display: initial;
  29. display: revert;
  30. display: revert-layer;
  31. display: unset;

和 float 都可以使元素在同一行,但是也各有缺点。

display:元素方向不可能控制

float:浮动起来的话会脱离标准文档流,所以要解决父级边框塌陷的问题

CSS 中的 float

float 是CSS一个针对子元素布局的配置项,它可使用的值:
right,left,top,bottom

不需要配合display使用。不需要对父元素设置

/*
 float:浮动是一种传统网页的布局方式
  通过浮动脱离文档而横向排列
  None:默认不浮动
    */

float示例:


  1. .box2 {
  2. width: 400px;
  3. height: 300px;
  4. border: 10px solid #eee8d5;
  5. }
  6. .box3 {
  7. width: 290px;
  8. height: 100px;
  9. background-color: #e0c46c;
  10. float: right;
  11. /*margin:0 auto;*/
  12. }
  13. //…
  14. <body>
  15. <div class=”box2″>
  16. <div class=”box3″>
  17. </div> </div>
  18. </div>
  19. </body>

CSS 中的 flex

flex呢,是display配置项一个可选值,实现弹性盒子:

display: flex;

/*弹性容器
display: flex; 块级
display:inline-block;行内弹性容器
容器里的所有子元素都自动变成 弹性项
主轴: 元素排列方向
     flex-direction:
            row:自右向右
            column:自上向下
            row-reverse:自右向左
            column-reverse:自下向上
侧轴: 与主轴垂直方向

flex-wap:设置是否自动换行
        none 不换行
        wrap 按侧轴换行

*/
display: flex;

flex 示例:


  1. <style>
  2. ul {
  3. list-style: none
  4. }
  5. ul {
  6. width: 900px;
  7. background-color: #eeeeee;
  8. border: 10px solid red;
  9. /*弹性盒子*/
  10. display: flex;
  11. /* 修改容器子元素方向*/
  12. flex-flow: row;
  13. }
  14. li {
  15. width: 200px;
  16. line-height: 50px;
  17. font-size: 30px;
  18. color: white;
  19. /*弹性盒子控制子元素填充,根据当前主轴长度,均匀放大或者缩小*/
  20. flex-basis: auto;
  21. /*当总长度超出主轴时,根据主轴长度进行等比缩小
  22. 0: 不缩小
  23. 1:等比缩小
  24. */
  25. flex-shrink: 0;
  26. }
  27. </style>
  28. //…
  29. <ul>
  30. <li>1</li>
  31. <li>2</li>
  32. </ul>