我有一个带有以下内容的元素:
position:absolute;
left: 70%;
例如,我可以配置元素,使其不向左移动超过900像素吗?类似于max-width但用于定位?
您可以使用CSS3媒体查询来实现这一点。
因此:
#element {
position:absolute;
left: 70%;
}
如果您不希望在屏幕较小或调整窗口大小时它覆盖物体,您可以添加以下内容:
@media all and (max-width: 980px) {
#element{
margin-left: 0px;
left: 220px;
}
}
当屏幕宽度小于980像素时,#element对象将固定为220像素。
通过使用CSS中的min()函数,我能够实现这一点。
这只对我起作用,因为我试图在右侧定位的东西具有恒定的宽度。
所以我的代码是这样的...
#rightFloatyThing {
left: min( calc(100vw - 278px) , 1002px );
}
278像素是右侧浮动元素的宽度。我希望始终确保右侧的浮动元素在视图内可见。因此,它的左侧位置始终至少是视图宽度减去右侧元件的宽度。
1002像素是右侧浮动元素能够到达的最远位置。
编辑:请确保查看Can I Use for CSS math functions。在2020年初之前,一些主要浏览器不支持该特性。
或者您可以使用相对定位元素包裹绝对定位元素,并设置一个最小宽度。