javascript - 关于一个css的布局问题

查看:123
本文介绍了javascript - 关于一个css的布局问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

问个问题 css怎么样让箭头指向的区域自动占据body下面余下的部分A?

多张券的时候是这样

问题是券少的时候!A处是白色的 我想让A和B一样的颜色

我看了flex的 stretch(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度。
但是用不起来!!

解决方案

不太容易(至少不是你想的那样,给某个元素加个heigth:100%,它就能自撑满剩下的高度),如果是

<body>
    <header></header>
    <section></section>
    <footer></footer>
</body>

这样的层级浅的,倒是可以通过min-height:100%;来实现你想要的效果,很显然,楼主所说的箭头所指的那个div至少是在section下的子元素,也就是说至少是body的孙子,所以说,单纯的用css设置该div样式是无法实现的,你至少得通过设置section的高度为min-height:100%;同时扣除该div的同级元素的高度,比如他前面的同级元素占了大概50%,那么你也只能设置height:50%,而很显然,他前面的那些元素,比如图片轮播框,选项框等元素的高低肯定不是用百分比实现的,所以这样设置并不能达到效果,那么你可以换种方式,通过获取前面元素的所占高度之和,用总的屏幕高度来减去该值,然后用得到的值来设置目标div的高度(不知道我的意思你明白不?),即用js来获取div的父元素的高度(屏幕的高度),然后减去前面同级元素高度之和,再设置目标元素的高度值。当然,如果你觉得麻烦,就试试用vh属性来设置吧,即相对于视界高度值(类似于百分比)的单位。这其实和你把所有元素的宽高设置为百分比是差不多的意思(你可以详细去看一下手册上vh,vw属性)。

这篇关于javascript - 关于一个css的布局问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆