当前位置: 首页 > news >正文

沈阳网站建设专家河南宏业建设管理有限公司网站

沈阳网站建设专家,河南宏业建设管理有限公司网站,互联网运营培训课程,美橙互联网站建设好不好前言 给设置了display:flex的子组件设置了flex:1;就能让他填满整个容器,如果有多个就平均 flex:1;是另外三个样式属性的简写,等同 flex-grow: 0; flex-shrink: 1; flex-basis: auto;我们就针…

前言

给设置了display:flex的子组件设置了flex:1;就能让他填满整个容器,如果有多个就平均

flex:1;是另外三个样式属性的简写,等同

flex-grow: 0;
flex-shrink: 1;
flex-basis: auto;

 我们就针对上面3个属性结合代码来进行讲解

基本demo代码如下

css

 .flex{display: flex;width: 300px;height: 300px;border:1px solid red}.flex-item{border:1px solid blue;/**我们后面的css代码都放在这里**/}

html

<body><div class="flex"><div class="flex-item"></div></div>
</body>

效果

问题:交叉轴方向为什么子元素高度填满

为什么flex-item没有设置高度,但是他就等同容器交叉轴方向的高度呢

答案: 父容器align-items默认值是stretch

这是因为,display:flex;的容器默认设置了 align-items:stretch;设置了所有一级子元素在交叉轴方向的高度,如果给容器设置成align-items: flex-start;,就能看到没设置高度的子元素成了一个点,效果如下

 问题:为什么主轴方向元素宽度没有填满父容器

答案

因为子原始默认flex-grow为0,也就是即使有足够的空间,也不自动填充

修改

.flex-item{border:1px solid blue;flex-grow: 1;/*新增*/
}

效果:子元素主轴,交叉轴都填满了父容器

 第二个例子:子元素分割主轴宽度

添加一个新的子元素样式为

.item2{background-color: pink;}

完整代码

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.flex{display: flex;width: 300px;height: 300px;border:1px solid red}.flex-item{border:1px solid blue;flex-grow: 1;}.item2{background-color: pink;}</style>
</head>
<body><div class="flex"><div class="flex-item">1</div><div class="flex-item item2" >2</div></div>
</body>
</html>

预览效果

问题:为什么两个子元素宽度平均了父容器的宽度

答案

因为子元素设置了flex-grow:1;会根据子元素flex-grow的值来平均分配宽度,如果第二个设置了flex-grow:2;那第二个子元素,会占据1/3的宽度

第三个例子:子元素宽度相加超出了父容器宽度

完整代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.flex{display: flex;width: 300px;height: 300px;border:1px solid red}.flex-item{border:1px solid blue;width:120px;}.item2{background-color: pink;width:200px;}</style>
</head>
<body><div class="flex"><div class="flex-item">1</div><div class="flex-item item2" >2</div></div>
</body>
</html>

效果

问题:为什么子元素渲染后的宽度变小了

因为flex容器的一级子元素默认允许缩放,也就是flex-shrink:1;我们把css代码样式改为

.flex-item{border:1px solid blue;width:120px;flex-shrink: 0;/*新增*/
}

这时候,那容器就超出父元素了

第四个例子:flex-basis

样式修改

 .flex-item{border:1px solid blue;box-sizing: border-box;}.item2{background-color: pink;flex-basis:200px; /*新增代码*/width:100px;/*新增代码*/}

效果

 flex-basis设置了具体单位只后,width属性无效

那设置auto值呢

如果设置了width就读取width,否则子元素等于子元素自身的高度

其次子元素的宽度还会收到flex-grow和flex-shrink的影响

width属性的优先级别低于flex-grow和flex-shrink

第五个例子:容器呗子元素撑大

子元素嵌套display:flex的子元素容器子元素容器背它的子元素撑大,导致文本超出无法显示省略号

代码

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.flex {display: flex;width: 300px;height: 300px;border: 1px solid red}.flex-item {border: 1px solid blue;box-sizing: border-box;width: 100px;}.item2 {background-color: pink;flex-grow: 1;display: flex;}.innerbox {display: flex;flex: 1;outline: 2px solid brown;/* width: 100%; */}.innerbox .inner-item {/* width: 300px; */background-color: green;overflow: hidden;white-space: nowrap;text-overflow: ellipsis;-o-text-overflow: ellipsis;}</style>
</head><body><div class="flex"><div class="flex-item">1</div><div class="flex-item item2"><div class="innerbox"><div class="inner-item">12121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212121212</div></div></div></div>
</body></html>

效果

解决

给子元素容器添加width:100%或者overflew:hidden;

http://www.yayakq.cn/news/927976/

相关文章:

  • 做外贸最好的网站有哪些徐州做网站软件
  • 做区位分析的网站哈尔滨网站备案手续
  • 做网站素材关键词批量调词 软件
  • 基地网站建设方案如何申请企业邮箱流程
  • 小说网站搭建教程软件开发工具的选择与评价
  • 泉州地区网站建设公司青岛大学春季高考有网站建设吗
  • 云盘建设网站门店管理系统软件免费
  • 网站建设作者墙这个模板中国制造网平台
  • 公司网站建站收费校园推广方案
  • 网站互点联盟汽车之家 网站建设
  • 漂亮购物网站欣赏ps上做网站
  • 徐州本地网站网站建设与管理简单么
  • 自己做网站seo优化用阿里云和大淘客做网站
  • 河南省建设厅网站136号文件如何设计一个企业网站
  • 网站建设的目标及功能定位网站建设实验感想
  • 2023网站推荐苏州工业园区劳动局网站做不了合同
  • 邮件网站排名免费logo设计生成器在线制作
  • 网站建设和运营的课程汕头h5模板建站
  • 网站建设管理 自查 报告硬件开发和软件开发区别
  • 设备网站模板wordpress sora 下载
  • 慕课网网站开发背景施工企业管理协会
  • 中小型企业网站建设的资金流动网站建设的基本流程有哪些
  • 响应式网站 768 320seo优化网站教程百度
  • 用织梦做的网站ftp怎么登陆网站建设技术 教材
  • 建设外贸网站报价厦门市建设与管理局 官方网站
  • 注册网站不用手机短信验证的微信网站开发教程视频教程
  • 桦甸市建设局网站哪里找人做网站
  • 自己做自己的私人网站网站开发国外研究状况
  • 长春网站建设哪里好python做网站原理
  • html5网站开发教程如何制作公司内部网页