HTML、CSS的flex布局详细笔记

目录

1、flex布局

1.1 flex布局是什么

1.2 flex布局适用范围

1.3 父元素和子元素的关系

1.4 块和行内块的区别

2、flex布局的样式代码


1、flex布局

1.1 flex布局是什么

Flex布局是一种用于网页布局的弹性盒子模型,它可以灵活地调整元素在容器中的位置和大小。

1.2 flex布局适用范围

Flex布局适用于现代的网页布局,特别适用于响应式设计和移动设备上的布局。它提供了一种简单而强大的方式来定义和控制元素在容器中的排列方式。

1.3 父元素和子元素的关系

  • Flex布局是一种用于在容器(父元素)和其内部项目(子元素)之间进行灵活的布局的CSS属性。
  • 在Flex布局中,通过在父元素上设置`display: flex`或`display: inline-flex`,将其变为一个Flex容器。这样的话,Flex容器的子元素就可以使用Flex属性进行布局和排列。
  • Flex布局是应用于父元素上的,它定义了子元素的行为。通过在父元素上设置各种Flex属性,如`flex-direction`、`justify-content`、`align-items`等,来控制子元素的布局方式、对齐方式和伸缩行为等。
  • 子元素则通过设置各种Flex项属性,如`flex-grow`、`flex-shrink`、`flex-basis`等,来决定它们在容器中的尺寸和排列顺序。
  • 所以说,Flex布局是给父元素(容器)设置的,通过对父元素设置Flex属性来控制子元素的布局和排列。

1.4 块和行内块的区别

  1. 盒模型属性:都可以设置宽度(width)和高度(height)属性,可以通过这些属性控制元素在页面中的大小。
  2. 显示属性: 块元素的默认`display`属性值为`block`,它会独占一行,并在上下方创建新的块级框。行内块元素的默认`display`属性值为`inline-block`,它会在一行内显示,并根据内容自动换行。
  3. 盒子模型属性的计算:块元素的宽度(width)和高度(height)属性会包括内容区域、内边距(padding)、边框(border)和外边距(margin)的计算。行内块元素的宽度(width)和高度(height)属性同样会包括内容区域、内边距(padding)、边框(border)和外边距(margin)的计算。
  4. 默认布局:块元素的默认布局是垂直排列,每个块元素独占一行。行内块元素的默认布局是水平排列在一行内。

总结一下就是,块元素和行内块元素的属性在大部分情况下是相似的,它们都可以设置宽度、高度、内边距、外边距等属性。然而,块元素的默认布局是独占一行,而行内块元素的默认布局是在一行内显示。此外,块元素的宽度和高度属性可以自由设置,而行内块元素的宽度和高度属性默认由内容决定。


2、flex布局的样式属性

2.1 flex-direction属性(子类在主轴上的分布)

    不同属性值的排列方式

            row(默认):从左往右

            row-reverse:从右往左

            column:从上往下

            column-reverse:从下往上

2.2  justify-content属性(子类在主轴上的对齐方式)

    不同属性值的排列方式

                flex-start(默认值):与 main start 对齐(靠左)

                flex-end:与 main end 对齐(靠右)

                center:居中对齐

                space-between:flex items之间的距离相等,与main start、main end两端对齐

                                            两边顶到头,剩余空间相等

                space-evenly:flex items之间的距离相等,与main start、main end之间距离等于flex                                               items之间的距离每个元素间隔相同

                space-around:flex items之间的距离相等,与main start、main end之间距离等于flex                                              items之间的距离的一半,每个元素占相同剩余空间


注:flex-direction属性和 justify-content属性是添加在父元素上的。

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
你需要一个基本的 HTML 页面,包括一个 `div` 元素来显示地图。然后,你可以使用 CSS 样式来布置地图的样式。 以下是一个简单的 HTML 页面示例,其中包括使用 Flexbox 布局的样式: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Flex公交车路线图</title> <style> /* 设置容器为 Flexbox 布局 */ .container { display: flex; flex-wrap: wrap; justify-content: center; } /* 设置地图的样式 */ .map { width: 600px; height: 400px; background-color: #f2f2f2; border: 1px solid #ccc; margin: 20px; } /* 设置公交车站点的样式 */ .station { width: 20px; height: 20px; border-radius: 50%; background-color: #333; position: absolute; } /* 设置公交车站点名称的样式 */ .station-label { position: absolute; top: -20px; left: 0; font-size: 12px; } /* 设置公交车路线的样式 */ .route { position: absolute; width: 4px; height: 4px; background-color: #333; } /* 设置公交车路线的起点和终点样式 */ .route.start, .route.end { width: 10px; height: 10px; border-radius: 50%; background-color: #333; } </style> </head> <body> <div class="container"> <div class="map"> <div class="station" style="top: 50px; left: 50px;"></div> <div class="station-label" style="top: 30px; left: 50px;">站点1</div> <div class="station" style="top: 100px; left: 150px;"></div> <div class="station-label" style="top: 80px; left: 150px;">站点2</div> <div class="station" style="top: 200px; left: 250px;"></div> <div class="station-label" style="top: 180px; left: 250px;">站点3</div> <div class="station" style="top: 300px; left: 350px;"></div> <div class="station-label" style="top: 280px; left: 350px;">站点4</div> <div class="route start" style="top: 50px; left: 50px;"></div> <div class="route" style="top: 100px; left: 150px;"></div> <div class="route" style="top: 200px; left: 250px;"></div> <div class="route end" style="top: 300px; left: 350px;"></div> </div> </div> </body> </html> ``` 以上代码中,我创建了一个 `.container` 容器,其中包含一个 `.map` 元素,它显示了公交车路线图。我使用绝对定位来放置公交车站点和路线,以便我可以精确控制它们的位置。我还使用 `.station-label` 类来显示公交车站点的名称。 你可以根据需要添加更多的公交车站点和路线。你还可以使用 JavaScript 代码来动态地生成公交车站点和路线,以便在需要时自动更新地图。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

校园小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值