gpt4 book ai didi

css - Floated+cleared 元素不影响 IE7 中的后续 float 元素 - 有解决方法吗?

转载 作者:太空宇宙 更新时间:2023-11-03 19:20:47 25 4
gpt4 key购买 nike

我正在尝试设置定义列表的样式,以便 dt 标记开始新行,并且可以在同一行上跟任意数量的 dd 元素。在现代浏览器中,这很简单

dt {
float:left;
clear:left;
}
dd {
float:left;
}

但是在IE7中,如果清空元素有 float ,则后续的 float 不受影响。 ( example ) 这个错误有什么解决方法吗?我一直在四处寻找,但通常建议的解决方案似乎都不适用:

  • 因为这是一个定义列表,所以我不能将元素包装在 div 中的相同行上。
  • 我不想使用不可见的非 float 清除元素 - 它必须是 dtdd,并且使用定义的全部意义listr 而不是表或 span-br soup 将具有语义标记,这将被纯粹的表示性 dt/ 搞砸dd 元素。
  • 据我所知,当每行的元素数量不固定时,基于触发 hasLayout(从而触发内联 block 行为)的方法(例如 this)不起作用。 (另外,我不想为剥离空格而烦恼。)
  • 我无法让 this solution 使用 dl 而不是 ul;即使设置 display:list-item 也无济于事。

是否有任何其他方法可以强制 IE7 模仿标准 float 行为?

最佳答案

尝试使用 inline-block而不是花车。

dl { 
line-height:1.2em;
padding-left:1em;
}
dt {
display:block;
margin:0 0 -1.2em -1em;
}

dd {
display:inline-block;
display:inline !ie;
margin-left:1em;
}

感谢想出这个的 deathshadow。

关于css - Floated+cleared 元素不影响 IE7 中的后续 float 元素 - 有解决方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3989653/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com