Blogger Information
Blog 31
fans 2
comment 0
visits 27593
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
flex属性实例
霏梦
Original
679 people have browsed it

- 作者:霏梦

基于浮动和定位的二列布局(复习)

  • 定义二列布局

    1. <header>页眉</header>
    2. <div class="wrap">
    3. <aside>左侧栏</aside>
    4. <main>主体内容区</main>
    5. </div>
    6. <footer>页脚</footer>
  • 浮动

  1. aside,
  2. main {
  3. min-height: 500px;
  4. }
  5. .wrap {
  6. width: 1000px;
  7. border: 1px solid red;
  8. /*防止踢陷*/
  9. overflow: hidden;
  10. margin: 10px auto;
  11. }
  12. aside {
  13. width: 200px;
  14. /*左浮动*/
  15. float: left;
  16. background-color: royalblue;
  17. }
  18. main {
  19. width: 790px;
  20. /*右浮动*/
  21. float: right;
  22. background-color: salmon;
  23. }
  • 定位
  1. <style>
  2. aside,
  3. main {
  4. min-height: 700px;
  5. }
  6. .wrap {
  7. width: 1000px;
  8. min-height: 700px;
  9. margin: 10px auto;
  10. /* 定位父级 */
  11. position: relative;
  12. }
  13. aside {
  14. width: 200px;
  15. background-color: springgreen;
  16. /*定位*/
  17. position: absolute;
  18. /*继承父级的高度*/
  19. min-height: inherit;
  20. }
  21. main {
  22. width: 790px;
  23. background-color: lightcoral;
  24. /*定位*/
  25. position: absolute;
  26. min-height: inherit;
  27. right: 0;
  28. }
  29. </style>
  • 效果图

float

内容多栏/列显示

  • 要显示内容
    1. <div>
    2. 16日发布会上初步判断这起聚集性疫情是由人际传播或物品、环境污染引发的感染所至,现在有没有更新的判断?吴尊友:目前还没有。首先在新发地发生这样一起疫情就很蹊跷,它不是源于北京,一定是北京以外的人或者物,把病毒带到了新发地。物品最有可能是一些温度比较低、冷冻的物品。因为在这样的环境温度下,病毒存活时间比较长。如果是人,可能是两类:一类就是在市场工作的人员。二类可能就是顾客。
    3. </div>
  • 通过column-count分列显示
  1. /* 分列显示 */
  2. column-count: 3;
  3. /* column-width: 10rem; */
  4. /* column-rule-style: solid; */
  5. /* column-rule-width: 1px; */
  6. /*简写*/
  7. column-rule: 1px solid red;
  • 效果图

column-count

flexbos弹性盒布局预览

  • 定位几个元素
    1. <div class="container">
    2. <div class="item">1</div>
    3. <div class="item">2</div>
    4. <div class="item">3</div>
    5. </div>
  • 实现弹性布局

    1. <style>
    2. .container {
    3. width: 600px;
    4. /* 转为弹性盒 */
    5. /* Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。任何一个容器都可以指定为 Flex 布局。 */
    6. display: flex;
    7. }
    8. /* 一旦将父元素转为弹性容器,内部的“子元素”就会转为:弹性项目, */
    9. /* 不管这个项目标签之前是什么类型,统统转为行内块 */
    10. /* 行内:全部在一排显示 */
    11. /* 块:可以设置高和宽 */
    12. .container > .item {
    13. /*auto自动缩放,*/
    14. /* flex: auto; */
    15. width: 60px;
    16. height: 60px;
    17. }
    18. </style>
  • 效果图
    flex

flexbos弹性盒多行布局预览

  1. <style>
  2. .container {
  3. width: 600px;
  4. /* 转为弹性盒 */
  5. /* Flex 是 Flexible Box 的缩写,意为"弹性布局",用来为盒状模型提供最大的灵活性。任何一个容器都可以指定为 Flex 布局。 */
  6. display: flex;
  7. }
  8. /* 一旦将父元素转为弹性容器,内部的“子元素”就会转为:弹性项目, */
  9. /* 不管这个项目标签之前是什么类型,统统转为行内块 */
  10. /* 行内:全部在一排显示 */
  11. /* 块:可以设置高和宽 */
  12. .container > .item {
  13. /*auto自动缩放,*/
  14. /* flex: auto; */
  15. width: 100px;
  16. width: 120px;
  17. width: 150px;
  18. }
  19. .container {
  20. flex-wrap: nowrap;
  21. /* 换行显示 */
  22. flex-wrap: wrap;
  23. }
  24. </style>

flex多行

flex单行容器中的项目对齐方式

  1. .container {
  2. width: 300px;
  3. display: flex;
  4. /* justify-content:属性定义了项目在主轴上的对齐方式。 */
  5. /* 本质是设置容器中的剩余空间在所有项目之间的分配方案 */
  6. /* 左对齐 */
  7. justify-content: flex-start;
  8. /* 右对齐 */
  9. justify-content: flex-end;
  10. /* 居中对齐 */
  11. justify-content: center;
  12. /* 两端对齐 */
  13. justify-content: space-between;
  14. /* 每个项目两侧的间隔相等。所以,项目之间的间隔比项目与边框的间隔大一倍 */
  15. justify-content: space-around;
  16. /* 平均分配 */
  17. justify-content: space-evenly;
  18. }
  19. .container > .item {
  20. width: 60px;
  21. }

between
space-around
space-evenly

flex多行容器中的项目对齐方式

  1. .container {
  2. width: 300px;
  3. display: flex;
  4. /* 多行容器 */
  5. flex-wrap: wrap;
  6. height: 150px;
  7. /* align-content属性定义了多根轴线的对齐方式 */
  8. /* 默认值,轴线占满整个交叉轴 */
  9. align-content: stretch;
  10. /* 与交叉轴的中点对齐 */
  11. align-content: center;
  12. /* 与交叉轴的中点对齐 */
  13. align-content: flex-end;
  14. /* 每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍 */
  15. align-content: space-around;
  16. /* 与交叉轴两端对齐,轴线之间的间隔平均分布 */
  17. align-content: space-between;
  18. /* 平均分配 */
  19. align-content: space-evenly;
  20. }
  21. .container > .item {
  22. width: 60px;
  23. background-color: greenyellow;
  24. text-align: center;
  25. }

space-evenly

主轴为垂直方向时的项目排列

  1. /* 主轴方向:默认为行 */
  2. /* flex-direction: row; */
  3. flex-direction: column;
  4. /* 项目二边分配 */
  5. justify-content: flex-start;
  6. justify-content: flex-end;
  7. justify-content: center;
  8. /* 项目之间分配 */
  9. justify-content: space-between;
  10. justify-content: space-around;
  11. justify-content: space-evenly;

space-evenly

项目在交叉轴上的排列

  1. /* 交叉轴上 */
  2. align-items: stretch;
  3. align-items: flex-end;
  4. align-items: flex-start;
  5. align-items: center;

align-items

主轴方向与项目排列的简写

  1. /* 默认值可以不用写 */
  2. /* flex-direction: row; */
  3. /* flex-wrap: nowrap; */
  4. /* flex-flow: row nowrap; */
  5. flex-flow: column wrap;

排序

  1. .container > .item:first-of-type {
  2. /* <!-- 属性定义项目的排列顺序。数值越小,排列越靠前,默认为0 --> */
  3. order: 0;
  4. order: 3;
  5. }
  6. .container > .item:last-of-type {
  7. order: 5;
  8. }

order

flex快速写一个导航

  • 定位导航显示内容
    1. <header>
    2. <nav>
    3. <a href="">首页</a>
    4. <a href="">视频</a>
    5. <a href="">在线</a>
    6. <a href="">资源</a>
    7. <a href="">登录</a>
    8. </nav>
    9. </header>
  • 样式
    1. /* 初始化 */
    2. * {
    3. margin: 0;
    4. padding: 0;
    5. box-sizing: border-box;
    6. }
    7. a {
    8. text-decoration: none;
    9. color: grey;
    10. }
    11. nav {
    12. height: 40px;
    13. background-color: lightblue;
    14. padding: 0 50px;
    15. /* 使用弹性盒 */
    16. display: flex;
    17. }
    18. nav a {
    19. height: inherit;
    20. line-height: 40px;
    21. padding: 0 15px;
    22. }
    23. /* 鼠标经过的样式 */
    24. nav a:hover {
    25. background-color: rosybrown;
    26. color: white;
    27. }
    28. /* 右显示 */
    29. nav a:last-of-type {
    30. margin-left: auto;
    31. }
  • 效果图
    flex导航
Correcting teacher:天蓬老师天蓬老师

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