十个实用且常用但是IE却不支持的CSS属性

对IE浏览器尤其是IE6的抱怨基本已进入麻痹状态,偶尔甚至产生非常消极的想法:这个世界只有一个浏览器就好了,哪怕这唯一的浏览器就是IE6。当然,这样的想法是非常病态的,马上打消。本文里面,介绍了10个很实但IE却不支持的CSS属性,列出这些属性并不是为了数落IE(数落也没用),而是你了解了哪些CSS属性是IE不支持的,就更有针对性的去编写CSS和Hack了。

1. Outline

在调试CSS问题的时候,我常常在指定元素上添加border来精确的查看该元素会发生什么并帮助确定问题的来源。这常常是有效的,因为它可以在布 局上给我更加具体的可视性。但是如果是块级元素,这可能会发生某些错误——在任何块级元素上添加1px的边框很可能会影响到布局,它会让这个元素的宽度额 外增加2px。

outline 属性是完美的替代者,因为它可以在不影响文档流的情况下呈现该对象。但是IE6 和IE7 不支持 outline 属性,所以,它不能在这两个浏览器中用于调试。

2. Inherit (值)

在CSS开发中有很多这样的例子:通过在特定元素上设置某些样式来告诉该元素来“继承”它父级元素的所有已添加的属性,这样你就可以避免相当多的键盘输入。

这可以通过设置 inherit 来很容易的实现。这可能很有用。比如,当重写 background 属性的时候,常常会有很多的文字在该属性中(色彩、图片的URL地址、位置等)。所以,与其重新写这些值,你可能仅仅想要考虑中的元素和其父级元素有相同 的背景属性,一个 inherit 值就可以搞定一切——这显然大大的节省了键盘输入。

不幸的是, inherit 值在IE6和IE7不被支持(除了用于 direction (文字方向) 和 visibility 属性)。

某人说,代码就像女人的裙子——越短越好,看来IE会阻碍我们这个愿望的实现。

3. Empty-Cells

该属性只用于table或者”display”属性被设置为”table-cell”的元素。如果你动态的为一个table添加内容,就可能会遇到某个单元格的内容为空的情况,然后你又不希望这个空的单元格的边框、背景色、背景图片等隐藏掉。

使用”empty-cells: hide”就能解决这个问题,它会将可能出现这种情况的单元格完全隐藏掉。

Internet Explorer 不支持empty-cells属性。

4. Caption-Side

说到table 的属性,这个属性用于声明显示在表格的侧栏的表格标题。它接受 top 、 bottom 、 left 和 right 四个值。Internet Exporer 不支持这个属性,table的标题在IE6和IE7中将总是出现在表格的顶部。

5. Counter-Increment / Counter-Reset

有序列表(

)非常方便,因为它可以省去你手工添加递增数字的麻烦,而且它允许你不用更改数字就能改变列表的序列。

CSS 拥有 counter-increment 和 counter-reset 属性,它允许你用来自动生成递增数字到几乎所有的html元素上,就像有序列表的效果一样。

这里有个示例:

h2 {counter-increment: headers;}h2:before {content: counter(headers) ". ";}

上面的样式将在所有的

标签前面自动添加递增的数字,而且允许你在h2标签上实现和li标签同样的的效果。

但是IE6, IE7 甚至Safari(直到3.x版本)还不支持这些属性。当然,IE6也不支持:before 伪元素。

6. Min-Height

有时,一个网站的设计或布局结构需要一个有固定高度的内容区域,否则特定的视觉效果就会丢掉。这可能会因为一个渐变背景、一个独特的下拉列表、 或者可能是因为PS出来的很酷的发光效果。但是有的时候,页面中的内容会比较多,而页面却不能像预期那样展开。

这个时候就需要用到 min-height 属性了,因为它可以告诉浏览器在一个特定的块级元素上渲染最小的高度,不管内容的实际高度是否达到了这个最小高度。然后呢,如果内容超出了最小高度,该元素就会适度的扩展开。

使用min-height 唯一需要注意到的是它在IE6中不被支持。我们都知道IE6在(缓慢的)退出历史舞台,但是有的客户可能仍然要求他们的网站支持这个该死的浏览器。

不过令人高兴的是,IE6 渲染 height 的值的方法正好和其它浏览器渲染“min-height”的方式一样,所以你只需要一个针对IE6的hack或独立的样式表来为该元素添加特定的 height ,这个问题就解决了。

IE6 同样无视 min-width 、 max-height 和 max-width , 但是上述方法在这些属性上也是可行的。

7. :hover

从技术上来说,:hover只是一个伪类,但是它在IE6中不被支持(IE7和IE8支持)。:hover伪类允许你在元素上添加任何的鼠标经过样式。这非常有用,可以避免(至少在某种程度上)使用javascript。

但是如果你的网站,需要完全支持IE6,特别是在中国这种IE6一手遮天的情况下,那么你就必须考虑取消使用这个伪类,除非相关的标签有个”href”属性,比如标签。而且如果要实现这种效果,可能必须借助于javascript和额外的样式。

8. Display

Display 通常被设置为这三个值中的一个: block、inline和 none。“得益于”IE,Display的其它值很少被用到。这些值包括 inline-block、table、inline-table和table-cell等,这些属性对于解决一些特殊的布局问题时,是很有用的。

所以,尽管IE 确实支持Display的这三个基本属性,但是它基本上不支持其它属性。

其实,IE8对display的属性支持已经相当完整了。不过,对于inline-block属性,IE6/7只支持本身为inline的元素。

9. Clip

这是一个在特殊情况下能派上用场的很有趣的CSS属性。它可能和不可预知的、动态生成的内容结合起来。简单来说,这个属性允许你在一个特定的元素上 指定隐藏区域——也可以理解为,在一个绝对定位的元素中,按照一定的设置来裁剪该元素的显示区域,超出该区域的内容会被隐藏掉。语法看起来像这样的:

p.clipped {         padding: 20px;         width: 400px;         height: 400px;         clip: rect(20px, 300px, 200px, 100px);         position: absolute;}

修剪只能用于一个绝对定位的元素,而且只用使用矩形区域。括号内的数字划出的区域(200px*180px大小)为可见区域,该区域以外的内容不可见或者被剪切掉。

技术上来讲, clip 属性被IE支持,但是只支持无逗号的语法,比如

p.clipped {padding: 20px;width: 400px;height: 400px;clip: rect(20px 300px 200px 100px);position: absolute;}

上面的样式(rect后面括号里的属性没有用逗号隔开)在大多数浏览器下都可运行,但是可能不会通过CSS验证,因为语句没有用逗号隔开。

10. :focus

这是另外一个伪类需要在这里被提及的,因为所有的非IE浏览器,都支持这个属性。:focus伪类允许你声明一个特别的样式,当一个页面元素成为键 盘(鼠标)焦点的时候,将该样式动态的应用到该元素上。这在表单元素上非常有用,因为你可以在一个输入框被选中的时候给它添加一个边框。

下面的样式将在输入框成为键盘焦点的时候添加一个红色的边框:

input:focus {        border: 1px solid #f00;}

               

以上就是十个实用且常用但是IE却不支持的CSS属性的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1608476.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月23日 21:52:59
下一篇 2025年12月23日 21:53:12

相关推荐

  • 使用 position: sticky 时,遇到失效的情况,该怎么办?

    在使用position: sticky时,遇到失效的情况,以下提供可能的原因和解决方案: 原因:被其他元素覆盖 如果sticky元素被其他元素覆盖,它将无法正确显示。例如,在给定代码中,第二个sticky元素被el-table元素覆盖,导致它似乎不起作用。 解决方案: 检查页面中是否有元素覆盖了st…

    2025年12月24日
    000
  • 移动端HTML如何强制横屏?

    移动端html如何强制横屏? 在移动端网页中强制横屏可以为用户提供更好的沉浸式体验。实现方法如下: meta标签 在html的 元素中添加以下 标签: 立即学习“前端免费学习笔记(深入)”; 这将禁用设备缩放并强制页面为横屏显示。 css属性 也可以使用css属性来强制横屏: body { -web…

    2025年12月24日
    000
  • 如何让移动端 HTML 页面强制横屏显示?

    强制移动端html横屏显示 在移动端html中强制横屏显示可以通过设置以下css属性实现: body { orientation: landscape;} 但是,需要注意的是,这个属性仅在某些浏览器中受支持,如safari和android上的chrome。在其他浏览器中,强制横屏显示可能需要额外的处…

    2025年12月24日
    000
  • 逻辑属性与旧版属性:如何根据文本方向选择合适的CSS属性?

    CSS 逻辑属性与旧版属性 CSS 中引入了逻辑属性和旧版属性的概念。这些属性负责控制页面元素的外观和布局。 逻辑属性 逻辑属性以逻辑方向命名,如左右、上下。它们根据元素在文档流中的位置来确定元素的外观。例如: 立即学习“前端免费学习笔记(深入)”; marginBlockStart:控制元素在垂直…

    2025年12月24日
    000
  • F12调试模式下不勾选的CSS属性如何设置?

    f12下不勾选的css属性如何设置? 在调试模式中遇到不勾选某项css属性的情况,需要设置未勾选的样式该怎么办? 回答 有两种解决方法: 立即学习“前端免费学习笔记(深入)”; 方法1:注释css代码 找到对应css属性的位置,将其注释掉。例如: /*p { color: red;}*/ 注释掉属性…

    2025年12月24日
    000
  • F12 中如何设置未勾选的 CSS 属性?

    f12中如何设置未勾选的css属性 在开发模式下,如何设置未勾选的css属性,例如在调试过程中发现未勾选的颜色属性后,但希望保留其样式? 解决办法: 注释掉css代码:找到对应css的代码位置,并在其前面添加注释符号(/ /),即可注释掉该属性,达到不勾选的效果。覆盖css样式:在外部样式表或内联样…

    2025年12月24日
    000
  • 如何利用混合模式实现前端盖章效果?

    前端盖章效果的实现 想要实现盖章效果,首先需要解决透明背景的问题。我们可以使用混合模式来实现。 混合模式 混合模式是一种css属性,用于控制元素如何与下面的元素混合。在盖章效果中,我们可以使用multiply混合模式,它将上面的元素与下面的元素相乘,从而创建一种叠加效果。 css 代码 立即学习“前…

    2025年12月24日
    000
  • CSS 属性查询:如何让元素成为一个空的容器?

    空的容器:css属性查询 您曾使用过一个css属性,它可以让元素成为一个没有实际空间、样式或交互性的空容器。请问您知道它的名称吗? 答案: 您指的应该是 display: contents 属性。这个属性会让元素像不存在一样,取消颜色、边框和其他样式。它甚至会让flex子元素关系跨越此层元素。 立即…

    2025年12月24日
    000
  • 在 less 中如何使用变量来实现媒体查询的动态调整?

    less变量与媒体查询的灵活使用 在使用less变量时,若想根据屏幕尺寸动态调整某个css属性,单纯使用@media进行条件判断会失效。这是因为less变量是编译时变量,在编译后会转化为固定的css值。 解决方法之一是创建不同的变量,分别对应不同的屏幕尺寸。例如: @padding: 20px;@p…

    2025年12月24日
    000
  • CSS 中的折叠边距:初学者指南

    介绍 没有什么比应用一种样式但它没有按预期工作更令人沮丧的了。边距塌陷是一种导致意想不到的造型效果的现象。那么,什么是折叠边距以及它如何影响 css 中的边距? 利润崩溃 折叠边距源于css属性边距,它控制元素外部的间距。顾名思义,当相邻元素的边距组合或“折叠”为一个而不是相加时,就会发生折叠边距。…

    2025年12月24日
    000
  • css怎么设置底部div样式

    在CSS中设置底部div样式的方法有:固定底部:position: fixed; bottom: 0; left: 0; right: 0;相对定位:position: relative; bottom: 0;调整左右位置:left/right 属性;其他样式:height、width、backgr…

    好文分享 2025年12月24日
    000
  • z-index是什么

    z-index 是一个 CSS 属性,用于控制元素在页面上的层叠顺序:较高 z-index 值表示元素位于更前面的层级。正整数使元素位于其父元素或兄弟元素的前面。负整数使元素位于其父元素或兄弟元素的后面。仅在包含定位的元素时起作用。嵌套元素的 z-index 值无效,除非父元素也具有定位。具有透明背…

    2025年12月24日
    000
  • css美化框怎么用

    CSS美化框是一种CSS属性,用于在网页元素周围添加边框样式,以提升视觉效果和增强页面可用性。其使用语法为:border: style width color;,其中style设置边框样式,width设置宽度,color设置颜色。美化框类型包括上边框、下边框、左边框和右边框。可以使用缩写形式bord…

    2025年12月24日
    000
  • css属性选择器怎么用

    CSS 属性选择器可根据元素的属性值选择元素,语法为“[attribute_name=”attribute_value”]”。优点包括精确、灵活和可维护性。缺点包括性能和兼容性问题。建议在需要精确选择时使用,避免在大型页面上过多使用,并考虑其他选择器以提高性能。 CSS 属性…

    2025年12月24日
    000
  • css插视频怎么插

    在 CSS 中插入视频步骤:在 HTML 中添加 元素。创建一个包含视频元素的 CSS 类。在 CSS 文件中应用样式控制视频的尺寸、位置和外观。 CSS中插入视频 在CSS中插入视频有以下几个步骤: 在HTML中添加视频元素创建一个包含视频元素的CSS类在CSS文件中应用样式来控制视频的尺寸、位置…

    2025年12月24日
    000
  • div在css中是什么意思

    在CSS中,DIV表示一个块级元素,用于创建可通过CSS样式化的容器,包含任何类型的HTML内容,并可用于组织、分组,并通过CSS灵活布局,并可添加语义信息。与SPAN不同,DIV是块级元素用于创建容器,而SPAN是内联元素用于样式化文本。 DIV在CSS中的含义 在层叠样式表(CSS)中,DIV是…

    2025年12月24日
    000
  • groove在css中是什么意思

    在CSS中,groove表示一种边框样式,创建凹槽状效果。具体应用如下:使用CSS属性border-style: groove;凹槽状边框具有凹陷的内侧边缘、凸起的外部边缘和阴影效果。 groove在CSS中的含义 在CSS中,groove是一个边框样式值,可为元素添加凹槽状的边框效果。 如何使用 …

    2025年12月24日
    000
  • auto在css中的用法

    auto是CSS中表示浏览器根据特定元素属性自动计算值的一个特殊值,可以在height、width、margin、padding、flex-grow和flex-shrink属性中使用,优点包括适应性、节省时间和响应式设计,但需要注意隐藏内容、flex布局和精确控制布局的情况。 auto在CSS中的用…

    好文分享 2025年12月24日
    000
  • css属性书写顺序是什么

    CSS 属性书写顺序遵循以下规则:重要性声明(覆盖现有样式)具体性声明(针对特定元素或伪类)缩写值(多个属性值集合)Longhand 属性(展开缩写值)值(按 CSS 规范中定义的顺序) CSS 属性书写顺序 CSS 属性的书写顺序遵循以下规则: 1. 重要性声明(可选) 使用 !important…

    2025年12月24日
    000
  • css属性书写方式有几种

    CSS 属性书写方式有多种,包括缩写、大小写、连接符或驼峰命名法,以及前缀。使用变量可存储和重用属性值,而不同的书写方式具有不同的优先级,其中内联样式优先级最高,重要性声明优先级最低。 CSS 属性书写方式 CSS 属性可以有多种方式书写,包括: 缩写 background-color 可缩写为 b…

    2025年12月24日
    000

发表回复

登录后才能评论
关注微信