宽高自适应和窗口自适应(二级菜单问题解决)
自适应:元素的大小能够根据窗口或子元素自动调整
宽度自适应,常用于导航栏之类的
<style> div{background-color: yellowgreen; width:auto; /* 宽度不写或者设为auto,就是宽度自适应 */ padding: 100px;} </style>
宽度自适应和根据窗口进行调节,不会撑开滚动条,但是宽度设为百分之百设置边距会撑开滚动条
高度自适应,height:auto或者不写
如果内容太少,高度撑不开可以设置一个最小高度min-height(还有 max-height min-width max-width)
浮动元素的高度自适应
<style> .left,.right{ width:100px; height:100px; float:left; } .left{background-color: aqua;} .right{background-color: brown;} .content{ width:200px; height:200px; background-color: blueviolet; } .box{ /*1. height:100px;如果浮动过多,换行就又会出现高度塌陷 */ overflow: hidden ; } </style> </head> <body> <div class="box"> <div class="left"></div> <div class="right"></div> <!-- 2.<div style="clear:both"></div> 增加空标签,不利于代码可读性--> </div> <div class="content"></div>
二级菜单问题解决
1.二级菜单把下面的内容顶下去(直接加overflow:hidden)
使用给菜单绝对定位把菜单脱离文档流
具体操作:a.给子盒子加入absolute,并根据实际情况进行位置上的调整,给父盒子加入relative
b.给需要隐藏的菜单加入display:none
c.给菜单的标题加入 .父盒子名称 hover ul{display:block}
2.导航栏使用浮动使高度塌陷,下面的盒子会顶上来
具体操作:a.使用伪元素在盒子末尾加入内容 .box::after{content:""},如果内容里有文本还需要加入visiblity:hidden(可视性:隐藏)
b.在这个伪元素上加上清浮动(注意要加入display:block;否则清浮动不能生效)
<style> /* 第一个字母 */ div::first-letter {font-size: 30px;} /* 第一行 */ div::first-line{background-color: aqua;} /* 在文字前面加内容 */ div::before{content:"aaaa";} /* 在文字最后加入内容 */ div::after{content: "bbbb";} </style>
窗口自适应,盒子根据窗口大小进行改变
html,body{height:100%}
.box{width:100%;height:100%}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步