【发布时间】:2020-02-28 02:05:40
【问题描述】:
我有一个<section>,里面有一些内容。
<section class="Header">
<h1 class="mainHeader">Lorem ipsum dolor sit amet con</h1>
<h3 class="subHeader">obcaecati laboriosam iste ad exercitationem culpa aspernatur, molestias</h3>
</section>
我已将一些CSS 分配给Header 的所有subclasses。只是为了让它们看起来不错。 Header 应该是屏幕的高度。因为在每个视口中所有subclasses 的字体大小都会改变。
目前,我已经给了subHeader margin-bottom 来制作Header 的screen size。但这是一种错误的做法,因为我每次都需要为每个viewport 更改subHeader 的margin-bottom。加上许多screensizes,它可能比screen 短或长。
当我分配 media query 以使网站响应时。对于较小的屏幕尺寸,例如:(最大宽度:768px)我减少了text 的size,并且header 向上移动,但我希望它始终是设备的height,而不是更改其height 甚至是font-size 增加或减少。
我已经在网上搜索了一些解决方案:
首先:使用height: 100vh;
第二:作者Javascript(代码如下)
var vHeight = $(window).height(),
header= $('.Header');
header.css({
"height": vHeight
});
但它们都不适用于较小的屏幕尺寸。 Header 的高度大于屏幕尺寸。
总结:
主要问题:我怎样才能给一个元素分配一个高度,使得高度等于屏幕的高度(当时正在使用浏览网站)?
有人知道怎么做吗?
【问题讨论】:
-
“不在小视口上工作”是什么意思?
100vh始终是视口(浏览器窗口)的高度。 -
@CalvinNunes 我编辑了评论
-
“但是它们都不能在较小的视口上工作。” 你能向我们解释为什么它不能工作吗?您在哪些浏览器中测试?在哪些设备中?台式机、移动设备?
-
可以显示minimal reproducible example 吗?目前,我们几乎都在猜测解决方案。
-
如果它比屏幕尺寸长,可能是因为它的某些内容迫使它更长......minimal reproducible example 在这里可能很有用。但无论如何,我一直在问:您正在测试哪些浏览器?在哪些设备中?台式机、移动设备?
标签: javascript html css responsive-design