<div class="hero"> <div class="hero__wrApper"> <div class="hero__content"><!-- content --></div> <img class="hero__thumb" src=https://www.isolves.com/it/wlyx/wzjs/2020-12-24/"figure.png" />
.hero { height: 100vh;}.hero__thumb { flex: 0 0 550px; width: 550px;}
下面是解决此类问题几种解决方案:- 为插图设置固定大小(宽度和高度),而不是仅设置宽度,缺乏高度将会继续存在这个问题 。
- 仅当视口高度大于700px时才为height: 100vh(媒体查询值可能会根据上下文而有所不同) 。
.hero__thumb { width: 400px; height: 300px; object-fit: contain; /* To avoid compressing the image */}@media (min-height: 700px) { .hero { height: 100vh; }
好的,现在我们同意使用垂直媒体查询更好 。然而,使用100vh是有风险的,因为即使我们限制了插图的大小,也可能无法对文本内容执行相同的操作 。如果文本内容变长,同样的问题会再次发生,参见下图:文章插图
为了解决这个问题,我们可以使用min-height而不是height 。这样,如果内容变长,高度将扩大并且不会重叠 。
@media (min-height: 700px) { .hero { min-height: 100vh; }}
固定头部在滚动时固定标题并不是一件坏事,但是,我们要确保只有在垂直空间足够好的情况下才固定标题,这样体验才会好 。文章插图
这是一个关于风景类的网站,这里我们可以看到,当高度过小的时候,这个固定高度整体就会占用很大的空间 。这个对用户真的重要吗?大多数情况是不重要的,因为一般用户不会缩小成这样去看一个网站 。当前,如果我们要优化也是可以就是,思路就是通过垂直媒体查询,判断高度小于某个高度的时候就将固定定位改成静态定位 。
@media (min-height: 700px) { .site-header { /* position: fixed or position: sticky */ }}
隐藏不太重要的元素我在Twitter.com的导航栏上注意到了这个模式 。其思想是将垂直媒体查询和Priority+模式结合起来 。文章插图
调整视口高度的大小时,次重要的元素(书签和列表)将被删除并附加到“更多”菜单中,这是垂直媒体查询的一个很好的用例 。
.nav__item--secondary { display: none;}@media (min-height: 700px) { .nav__item--secondary { display: block; }}
减少间距-导航如果我们网站有侧边栏或侧边栏,当视口高度很小时,我们可以减少一些导航项之间的垂直间距,这也会增强整体设计 。文章插图
.nav__item { padding-top: 4px; padding-bottom: 4px;}@media (min-height: 700px) { .nav__item { padding-top: 10px; padding-bottom: 10px; }}
模态框我们知道,模态框至少应该水平居中 。但是,有时我们还需要垂直居中,我们一般会使用下面的方案:.modal__body { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 500px;}
文章插图
但是,当内容变长时就会有问题,模态框会垂直填满屏幕,用户将无法滚动它 。
文章插图
引发这种情况下,有几点原因:
- 模态框没有高度
- 模态垂直居中(这会问题更快的出现)
.modal__body { position: absolute; left: 50%; top: 3rem; transform: translateX(-50%); width: 500px; min-height: 200px; max-height: 500px; overflow-y: auto;}@media (min-height: 700px) { .modal__body { top: 50%; transform: translate(-50%, -50%); }}
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Linux两种处理模式reactor模式proactor模式
- 「分布式计算」什么是严格一致性和最终一致性?
- 韩式减肥方法不喝水好吗
- 握手礼仪注意事项
- 荔枝红茶冲泡方式先容,红茶的冲泡水温
- 林治老师即将开班,六安茶业技术培训班正式开班
- 龙合茶业招商加盟信息,福鼎白茶招商加盟联系方式
- 白琳功夫红茶冲泡方式,白琳工夫茶简介
- 什么是供应链金融 供应链金融有哪些模式
- Spring Boot 使用拦截器优雅打印接口响应时间