当点击页面并向右拖动时,会显示水平溢出隐藏项目
我在页面内容的任一侧显示2个图形。当浏览器/页面宽度变窄时,这些项目会从屏幕上裁剪掉,以便为内容留出更多空间。这主要是当点击页面并向右拖动时,会显示水平溢出隐藏项目
.page {
height: 100%;
min-height: 100%;
overflow-x: hidden;
overflow-y: auto;
min-width: 960px;
}
这一切工作正常,但我对.page
DIV其中开口body
标签后环绕的所有内容,并为下一个元素的min-width
集。我刚刚意识到,当浏览器宽度低于min-width
时,垂直滚动条会从页面的一侧消失。
这里的问题的CodePen:https://codepen.io/moy/pen/oemBEN
大概就是因为body
现在在视图,但.page
元素保持在它的设置min-width
...有道理。
但是,我首先在.page
元素上设置溢出的原因是因为我在设置body
时遇到了一个问题。我认为我通过这种方式应用代码解决了一个问题。
如果我提出下面的代码到body
:
overflow-x: hidden;
overflow-y: auto;
出现的所有工作,我想它。内容区域的任何一边都会被裁剪,并且当Mac上的Chrome + FireFox中的内容足够长时,垂直滚动条仍保留在视图中。如果我在Safari(Mac)或Windows上的IE中检查页面,则边项目没有正确裁剪。
如果您向下缩放浏览器,然后单击背景并向右拖动,则可以显示页面的裁剪区域,并且看起来很凌乱!
有没有办法解决这个问题?或者我需要做的垂直滚动条隐藏?
您可以使用Flex布局参见:
https://codepen.io/anon/pen/EvrXmG
- 的
.container
元素开始弯曲布局。 -
.img
元素的width
和flex-basis
设置为它,不允许增长但收缩,导致“最大宽度”。 -
.wrap
元素的width
和flex-basis
设置为它,不允许缩小但增长,导致“最小宽度”。
如果页面变大,.img
元素保持最大尺寸,但内容获取所有空闲空间。
如果页面变小,内容保持最小宽度,图像元素开始消失。
此解决方案对于旧版浏览器可能不安全,但是适用于现代浏览器Browser compatibility的最简单解决方案之一。
感谢您的评论,这将是我的其他项目的伟大。不幸的是,这是教育,所以我需要支持IE8,当然IE9。否则,这将是理想的! – user1406440
您可以使用媒体查询将图像隐藏在特定窗口宽度并移除“最小宽度”。 https://www.w3schools.com/css/css_rwd_mediaqueries.asp – Bellian
不幸的是客户不希望他们完全隐藏,只是裁剪。否则,这会很好。谢谢回复! :) – user1406440