html之布局

弹性布局

弹性布局,又称“Flex布局”,是由W3C于2009年推出的一种布局方式。可以简便、完整、响应式地实现各种页面布局。而且已经得到所有主流浏览器的支持,我们可以放心大胆的使用。

使用方式

前提

  1. 需用一个容器,父元素
  2. 项目,每个子元素就是一个项目

了解

  1. 主轴: 在弹性布局中,我们会通过属性规定水平/垂直方向为主轴;

  2. 交叉轴: 与主轴垂直的另一方向,称为交叉轴。

这里是引用

使用

  1. 为父元素添加属性display:flex(显示为块级元素)即可容器来进行弹性布局
  2. display:inline-flex显示为行级元素
  3. flex的几种属性

flex-direction决定布局方向:row(默认值)主轴方向为水平反向起点在左端,row-reverse起点在又端,column:主轴为垂直方向,起点在上方,column-reverse起点在下方。

  1. flex-wrap如果一条轴线排不下是否换行nowrap(默认值)不换行
    wrap(换行),wrap-reverse从下往上换行
  2. justify-content属性定义子项在主轴上的对齐方式。
    flex-start(默认值):子项位于主轴起点对齐
    flex-end:子项位于终端点对齐
    center:居中
    space-between:两端对齐,字项之间的间隔都相等。(开头和最后的项目,与父容器边缘没有间隔)
    space-around每个子项两端的外边距相等
  3. align-items
    flex-start:交叉轴的起点对齐。
    flex-end:交叉轴的终点对齐。
    center:交叉轴的中点对齐。
    baseline: 项目的第一行文字的基线对齐。(文字的行高、字体大小会影响每行的基线)
    stretch(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度。
  4. align-content属性定义了多根轴线的对齐方式。
    flex-start:与交叉轴的起点对齐。
    flex-end:与交叉轴的终点对齐。
    center:与交叉轴的中点对齐。
    space-between:与交叉轴两端对齐,轴线之间的间隔平均分布。
    space-around:每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍。
    stretch(默认值):轴线占满整个交叉轴。
  5. flex-grow属性定义项目的放大比例,默认为0,即如果存在剩余空间,也不放大。

流式布局

流式布局也叫响应式布局
特点:

  • 宽度自适应,高度写死,并不是百分百还原设计图。
  • 图标都是固定死大小的,包括字体等也是固定死的。并不是所有的东西都是自适应的。
  • 一些大的图片,设置宽度为百分比自适应即可,随着屏幕大小进行变化,对于小图标或者文本等, 一般都是定死宽高大小。

经典的流式布局

  1. 左侧固定,右侧自适应
  2. 右侧固定左侧自适应
  3. 两侧固定,中间自适应(圣杯布局)
  4. 等分布局

响应式布局

em和rem的区别:

em以父级元素为参考;rem以根元素为参考。

媒体查询:
语法:
@media 媒体类型 and|not|only (媒体特性){
CSS-code
}
媒体类型:all(全部)、print(打印机)、screen(电脑、平板、智能手机屏幕等)
媒体查询引入CSS资源:

<link rel="stylesheet" media="媒体类型 and|not|only (媒体特性)" href="mystyle.css">
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HTML和CSS布局是用来定义和排列网页元素的方式。根据引用,HTML和CSS布局方式可以分为以下几种:浮动布局、定位布局、flex布局、table-cell表格布局、网格布局。 浮动布局是通过设置元素的浮动属性来实现元素的排列。通过设置元素的float属性为left或right,可以使元素脱离文档流并浮动在其他元素的周围。 定位布局是通过设置元素的position属性来实现元素的精确定位。通过设置元素的position属性为absolute或relative,再结合top、right、bottom、left属性,可以将元素放置在指定的位置。 flex布局是一种弹性盒模型布局,通过设置容器和其中的元素的flex属性来实现自适应和自动调整布局。通过设置容器的display属性为flex,可以将容器内的元素以一定的规则进行排列。 table-cell表格布局是通过将元素的display属性设置为table-cell,使元素像表格单元格一样排列。这种布局方式适合于需要等高的列布局。 网格布局是一种二维布局系统,通过设置容器的display属性为grid,然后使用grid-template-columns和grid-template-rows属性来定义行和列的大小和数量,可以实现复杂的网格布局。 根据引用中的代码示例,可以看到通过设置元素的position属性为relative和absolute,以及使用精灵图和定位的方式,可以实现元素的精确定位和布局。 根据引用中的代码示例,可以看到通过设置元素的display属性为grid,以及使用grid-template-columns和grid-template-rows属性,可以实现网格布局。 综上所述,HTML和CSS布局提供了多种方式来实现网页元素的排列和布局,开发者可以根据需求选择合适的布局方式来实现自己的设计。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [html+css布局](https://blog.csdn.net/sh2001824/article/details/125998713)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [html+css页面布局](https://blog.csdn.net/qq_42108313/article/details/119954472)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值