Html 带有绝对位置和内联块的媒体查询,不';似乎不适用于铬
有人能给我一些关于这种奇怪行为的线索吗Html 带有绝对位置和内联块的媒体查询,不';似乎不适用于铬,html,css,Html,Css,有人能给我一些关于这种奇怪行为的线索吗 当浏览器很宽时,我们在表单的右侧有一个提示 领域这没关系 当我们缩小视口时,提示会到达底部 应该 当我们尝试重新缩放视口使其再次变宽时,提示文本 与其他元素重叠,而不是转到其原始位置 如预期的那样 Mac OS 10上的Chrome V.46 步骤1-浏览器完全打开-提示文本位于右侧 第2步-如果缩小视口,提示将移到底部。好的。 第3步-当我们尝试调整浏览器窗口的大小时,提示不会跟随位置: 步骤4-当提示忽略输入字段位置时,检查器就是这样的: 第5
让我们假设我是一个表单元素包装器
我是一个提示文本块
div{
位置:相对位置;
宽度:100px;
}
.提示块{
显示:块;
颜色:蓝色;
}
@媒体屏幕和屏幕(最小宽度:56.25em){
.提示块{
位置:绝对位置;
显示:内联块;
颜色:红色;
}
}
同样,这是Chrome唯一的问题。在其他浏览器上试用过,效果很好。但99%的时间都是我的错,所以,即使不是,我还是要设法解决这个问题
有什么线索或建议吗
更新:
下面是一个实时代码示例:
很抱歉我不得不删除该链接,因为该产品尚未上线,而且客户已经表达了担忧。制作一个div,您可以在其中输入您的意见,怎么样?我认为应该行得通我的建议是:
- 从帮助块中删除
position:absolute
- 添加
垂直对齐:中间
以帮助阻止
left:400px
到@媒体屏幕和(最小宽度:56.25em)#checkoutform email+。提示块
解决了布局问题,但不是问题的根源
我认为这应该被视为一个浏览器问题。因为它计算绝对元素的初始左侧时考虑了其同级元素的宽度。。重新调整窗口后,会出现布局,不会再考虑兄弟宽度,与内部内容重叠。 < P>你不需要位置绝对值。移除它,它会自动工作 如果fiddle起作用,可能是其他CSS规则以某种方式覆盖了这些规则。看看你的实际代码是个好主意。其他一些类可能会覆盖你的CSS,如果你在JSFIDLE中发布完整的演示HTML代码,我们可以看看。FIDLE与你的问题有所不同。请让它显示相同的问题..更新了一个生活代码链接。这将是我的尝试。与其假设自动,不如声明具体的头寸数字…@MEM,缺点是这应该是某种自动的事情。。在提高响应能力时,添加特定的数字可能是一个问题。。我正在寻找一个解释,说明这是如何/为什么这样工作的。虽然解决了这个问题,但我将按照@jQuery00的建议测试删除绝对位置。我有这样的想法是有原因的,但我必须尝试一下,看看它是否还可以。是的,你可以用多种方式布置这个“提示块”,绝对位置绝对不是必须的。。但我认为问题的焦点应该是:理解当你使用
绝对位置时,重叠是如何发生的/为什么发生的。是的,理解这很好,但这似乎是chrome中的一个重画错误,所以在firefox中我无法复制它。在chrome中,绝对定位可能会保存窄视图中的位置,当再次将窗口调整为大绝对定位时,会保存虚拟顶部属性。对不起,我的英语。添加了垂直对齐:顶部,似乎比中间效果更好,同时与文本框并排。无论如何,这是有效的,而且似乎解决了灵活性问题。而这并不能解释Chrome上的问题。我会报告这个问题,但我不能真正复制它,所以,让我们把答案保留在这里,以备将来参考,以防有人发现同样的问题。
<div>Lets imagine I'm a form element wrapper</div>
<p class="hint-block">I'm a hint text block</p>
div {
position: relative;
width: 100px;
}
.hint-block {
display: block;
color: blue;
}
@media screen and (min-width : 56.25em) {
.hint-block {
position: absolute;
display: inline-block;
color: red;
}
}