“有史以来最好的清除修复?”

2024-01-04

我在这里看到了这种相当不同的clearfix方法:http://www.marcwatts.com.au/blog/best-clearfix-ever/ http://www.marcwatts.com.au/blog/best-clearfix-ever/

它建议添加以下CSS代码,该代码可以自动执行clearfix,并且不需要您向要清除的元素添加“clearfix”或类似的类。

/* our Global CSS file */
article:after { clear:both; content:"."; display:block; height:0; visibility:hidden; }
aside:after { clear:both; content:"."; display:block; height:0; visibility:hidden; }
div:after { clear:both; content:"."; display:block; height:0; visibility:hidden; }
footer:after { clear:both; content:"."; display:block; height:0; visibility:hidden; }
form:after { clear:both; content:"."; display:block; height:0; visibility:hidden; }
header:after { clear:both; content:"."; display:block; height:0; visibility:hidden; }
nav:after { clear:both; content:"."; display:block; height:0; visibility:hidden; }
section:after { clear:both; content:"."; display:block; height:0; visibility:hidden; }
ul:after { clear:both; content:"."; display:block; height:0; visibility:hidden; }

/* our ie CSS file */
article { zoom:1; }
aside { zoom:1; }
div { zoom:1; }
footer { zoom:1; }
form { zoom:1; }
header { zoom:1; }
nav { zoom:1; }
section { zoom:1; }
ul { zoom:1; }

这种方法有什么缺点吗?这是否会最终清除您不一定想要清除的元素?或者规则是否可以解释任何情况?


我认为这是一个坏主意。你真的会相信那些看似忘记这样做的人吗:

article, aside, div, footer, form, header, nav, section, ul { zoom:1; }

清除浮动并不是一件复杂的事情。

应该根据具体情况来处理,而不是大锤锤击的到“每个”元素上。

这样做会反过来咬你一口some方式,我确信这一点。

一方面,我同意@Guffa 的回答。


反对它的一个边缘案例原因涉及 IE7:http://www.satzansatz.de/cssd/onhavinglayout.html http://www.satzansatz.de/cssd/onhavinglayout.html

zoom: 1是提供称为hasLayout到元素。正在申请hasLayout元素修复了某些类型的渲染问题,但它也可以cause其他问题。引用链接文档:

不要给所有人布局。毒药在这种浓度下, 布局并不是解决问题的方法,而是 从根本上改变了渲染。


我个人喜欢使用overflow: hidden包含浮动的方法。当那个不起作用 https://stackoverflow.com/questions/5565668/in-2011-is-there-any-need-for-clearfix/5566093#5566093,然后我使用clearfix。

您应该使用以下版本的clearfixhttp://html5boilerplate.com/ http://html5boilerplate.com/:

.clearfix:before,
.clearfix:after {
    content: " "; /* 1 */
    display: table; /* 2 */
}

.clearfix:after {
    clear: both;
}

/*
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */

.clearfix {
    *zoom: 1;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“有史以来最好的清除修复?” 的相关文章

  • 是否可以使 Font Awesome 图标大于“fa-5x”?

    我正在使用这个 HTML 代码 div class col lg 4 div class panel div class panel heading div class row div class col xs 3 i class fa f
  • CSS 动画在 Internet Explorer 10 和 11 中不起作用

    以下 css 动画在 Chrome Mozilla Opera 浏览器中完美运行 但在 Internet Exporer 10 和 11 中不起作用 出了什么问题 请参见http jsfiddle net bm72w3n3 http jsf
  • 隐藏选择中的第一个选项[重复]

    这个问题在这里已经有答案了 我在下拉列表中有动态生成的选项 我想隐藏第一个选项 因为不需要 有没有跨浏览器兼容的方法来实现这一点 无论使用 jquery 还是 css 任何解决方案都是好的 Ahmar my drop down select
  • 强制 Flexbox 在特定项目之后换行(方向:列)

    我有导航 各个条目通过 Flexbox 一层一层地显示 方向 列 如果导航条目获得 分隔符 类 则导航应进入下一行 是否可以强制 Flexbox 执行 换行 nav display flex flex direction column na
  • 调整 Twitter-Bootstrap 中按钮的大小

    我正在开发一个适合移动设备的网络应用程序 我希望它有一个非常简单的用户界面 包括大到连巨人安德烈都可以轻松点击的按钮 问题是 我没有看到通过将引导按钮的宽度或高度设置为百分比 像素数或简单地让它们填充其容器来显式调整引导按钮大小的简单方法
  • 清除 CSS 过渡

    我使用 CSS 框架 该框架在将鼠标移动到输入元素上时应用过渡 我有一堂课 我不想有这种转变 这可能吗 只需放置过渡 无 在CSS中并使其优先级高于其他 Example html div class a div div class a b
  • CSS“概述”Webkit 和 Gecko 上不同的行为行为

    我正在做一个实验 我发现 轮廓 CSS2 属性在 Webkit 和 Gecko 上的实现方式不同 在下面的脚本中 我有一个绝对位置 div 在另一个 div 内 但浮动在其外部 Webkit 上的轮廓概述了实际的父 div 而在 Gecko
  • CSS - 在 id 中选择类的语法

    通过类名选择 id 中的标签的选择器语法是什么 例如 我需要在下面选择什么才能使内部的 li 变成红色 ul li Level 1 item ul class navigat ul li ul
  • 使用边距与填充? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我最近开始自己在线学习周三开发 并且是这个领域的新手 所以对我的基本查询表示歉意 我知道边距和填充之间的区别 用逻辑术语 但不太确定 何时应该使
  • Ie11 不应用媒体查询样式

    IE11 忽略我的媒体查询并始终使用移动 CSS 奇怪的是 如果我改变浏览器宽度 即使只是 1 2 像素 浏览器也会自行渲染并显示媒体查询 我尝试了 css lint 我的 css 中没有错误 我的CSS没有什么特别的 只是简单的 css
  • Firefox 无法正确渲染:border-radius、box-shadow 和 border

    在下面的例子中 http jsfiddle net Du8f6 3 http jsfiddle net Du8f6 3 我将内部阴影设置为容器和 10px 边框 并将边框半径设置为 50 结果是容器边框外有奇怪的细白色边框 细白色边框在以下
  • 如何使 html 链接看起来像一个按钮?

    我正在使用 ASP NET 我的一些按钮只执行重定向 我宁愿它们是普通链接 但我不希望我的用户注意到外观上有太大差异 我考虑过用锚点 即标签 包裹的图像 但我不想每次更改按钮上的文本时都必须启动图像编辑器 将这个类应用到它上面 button
  • 上/下箭头键与预输入控件的问题(角度引导 UI)

    检查这个PLNKR http plnkr co edit grrAxz158PTShzpxz2f0 我已经实现了预先输入控制 默认情况下 在类型提前控件中 他们不会设置任何最大高度或列表高度 但根据要求 我必须将列表高度固定为 110px
  • 悬停时的 SVG 过滤器标签

    我正在尝试通过此过滤器对 SVG 进行动画处理
  • 在生产中使用 css / javascript 源映射对性能有何影响?

    生产环境中应该使用源映射吗 除了调试之外 它们还有什么好处吗 由于额外的服务器往返 它们是否会影响应用程序加载时间 浏览器是否足够智能来加载 map应用程序加载和渲染后的资产 如果浏览器找不到 map asset 404错误 会对性能产生影
  • 如何在 CSS 中将子元素居中,即使它比父元素大?

    我想创建一个 css 类 以便可以将 div 放置在其父级的中心 我正在使用的代码是 centered position absolute margin auto bottom 0px left 0px top 0px right 0px
  • 图像未完整显示在身体背景上

    例子 http jsbin com opokev 20 http jsbin com opokev 20 完整图片 http i53 tinypic com 347a8uu jpg http i53 tinypic com 347a8uu
  • d3 序数尺度的映射

    我正在使用 D3 的序数比例将数字映射到颜色 我用过这个 color d3 scale ordinal range 1f77b4 ff7f0e 2ca02c d62728 9467bd 8c564b e377c2 domain 0 6 co
  • 是否可以全局文本对齐表列而不在每行中指定类?

    想知道提高效率的最佳方法是什么 也许使用 jQuery 我可以接受不兼容 ie7 的解决方案 如果需要的话 即使缺乏对 ie8 的支持也可以 table th td class cal center td td left td td cla
  • iPad 上的网站纵向视图

    我的网站在 iPad 纵向模式下无法正确显示 它在横向模式下看起来不错 但当我将其转换为纵向模式时 我最终会得到一个混乱的网站 所有元素都分散在整个网站上 我怎样才能解决这个问题 请帮我 这是我网站的链接 inclouds co uk ht

随机推荐