目录
明星先行财产
语法
示例
Star Property Hack 的用途和限制
用途
限制
结论
首页 web前端 css教程 CSS 中星号前面的属性有什么用?

CSS 中星号前面的属性有什么用?

Sep 16, 2023 pm 02:53 PM

CSS 中星号前面的属性有什么用?

在 Web 开发中,CSS(层叠样式表)使开发人员能够确定网站的视觉外观和布局。然而,由于不同的浏览器对CSS的支持机制不同,因此编译器渲染网页时可能会出现不一致的情况。

为了克服这个兼容性问题,开发人员通常选择使用 CSS hacks 来确保他们的网页在不同的浏览器和设备上显示一致。其中一种黑客行为是星号属性(也称为星号属性黑客),它用于针对对 CSS 的支持有限的特定版本的 Internet Explorer (IE)。

在本文中,我们将探讨 CSS 中的星号属性 hack,并讨论其用途和局限性。我们还将提供如何有效使用此技巧的示例以及在 CSS 代码中实现它的最佳实践。

明星先行财产

这是一个 CSS hack,用于声明 HTML 元素的不同属性。前面带有星号 (*) 或下划线 (_) 的属性,在 IE 7 及以下版本的 IE 中仅呈现,而对于 IE 8 及更高版本,它会被编译器视为垃圾。

语法

element{
   background-color: red;  // for other browsers
   _background-color: red;   // for IE 6 and below
   *background-color: red;   // for IE 7 and below
}
登录后复制

现在,让我们通过示例更好地理解这一点。我们将使用此 hack 在 IE 6、IE 7 和其他浏览器中渲染属性。

注意 - 此 hack 用于不同的浏览器,因此在指定的浏览器中运行该程序以观察正确的输出。

示例

下面说明了如何让编译器将 CSS 属性渲染到 Internet Explorer 7 及更低版本中的元素。

<!DOCTYPE html>
<html>
<head>
   <title>Internet Explorer 7 and Below Versions</title>
   <style>
      .my-div {
         background-color: red;
         width: 30%;
         height: 80%;
         padding: 3px;
         letter-spacing: 1px;
         margin-top: 40px;
         /* default margin applied in all other browsers */
         *margin-top: 0;
         /* IE6 margin */
      }
   </style>
</head>
<body>
   <h1>Star Preceded Property</h1>
   <h3>Given below is a div element whose margin-top will be 0 in IE 6 while it will be 20px in all other browsers.</h3>
   <div class="my-div"> This is my div element. </div>
</body>
</html>
登录后复制

对于 IE7 及以下版本,div 元素的 margin-top 为零。

如果您在任何其他浏览器中运行代码,则 div 元素的 margin-top 为 40px。

在上面的示例中,CSS 选择器 .my-div 应用 40 像素的上边距。但是,*margin-top: 0; 规则仅适用于 Internet Explorer 6,将边距设置为 0 像素。属性名称 (margin-top) 之前的星号 (*) 是“星号属性 hack”中的“星号”。这是其他浏览器中的语法错误,因此它们会忽略这一行。

示例

下面说明了使编译器将 CSS 属性呈现给 Internet Explorer 6 及更低版本中的元素的另一种方法。它不适用于 IE 7。

<!DOCTYPE html>
<html>
<head>
   <style>
      .my-div {
         background-color: blue;
         /* default background color */
         width: 30%;
         height: 80%;
         padding: 3px;
         letter-spacing: 1px;
         _background-color: red;
         /* background color in IE 6 and below versions */
      }
   </style>
</head>
<body>
   <h1>Star Preceded Property </h1>
   <h3>Given below is a div element whose background color will be red in IE 6 and below while it will be blue in all other browsers.</h3>
   <div class="my-div"> This is my div element. </div>
</body>
</html>
登录后复制

对于IE6及以下版本,div元素的背景颜色将为蓝色。

如果您在任何其他浏览器中运行代码,背景颜色将为红色。

在上面的示例中,CSS 选择器 .my-div 应用红色背景颜色。但是,_background-color: blue; 规则仅适用于 Internet Explorer 6,将背景颜色设置为蓝色。

Star Property Hack 的用途和限制

“星号属性”是过去使用的一种技术,用于使用 CSS 样式来定位特定版本的 Internet Explorer。虽然它有效地实现了这一目标,但它也有一些优点和缺点。

用途

  • 它使 Web 开发人员能够将各种特定的 CSS 样式应用于旧版本的 Internet Explorer,而不会影响所有其他浏览器中的结果。这有助于为跨多个浏览器的用户创建一致且统一的体验。

  • 它易于使用并减少了代码数量,使其成为对 Web 开发人员有吸引力的替代方案。它阻止他们为特定浏览器编写条件注释或特定样式表。

  • 它在 Web 开发社区中被广泛使用和流行,这使得找到示例和支持变得很容易。而且,它也很用户友好。

限制

  • “星号先于财产”是一种黑客行为。这不是编写 CSS 代码的标准且兼容的方式。它依赖于 Internet Explorer 中的一个错误来工作。此外,不保证它可以在浏览器的未来修改版本或其他浏览器中工作。

  • 这使得代码更难以阅读和维护。由于它涉及编写非标准代码,因此如果没有额外的注释或文档,很难理解代码的用途。

  • 这可能会导致意想不到的后果,例如影响页面上的其他元素或导致浏览器出现意外行为。

结论

此技术是一种针对具有不同样式的特定浏览器的方法,为 Internet Explorer 6 等旧版浏览器提供后备。总体而言,虽然“星属性黑客”在当时很有用,但不再建议将其作为最佳选择网络开发实践。现代 Web 开发技术侧重于使用可在多个浏览器上运行的标准且兼容的代码,而不是依赖于特定于浏览器的黑客攻击。

以上是CSS 中星号前面的属性有什么用?的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

VUE 3 VUE 3 Apr 02, 2025 pm 06:32 PM

它的出局!恭喜Vue团队完成了完成,我知道这是一项巨大的努力,而且很长时间。所有新文档也是如此。

使用Redwood.js和Fauna构建以太坊应用 使用Redwood.js和Fauna构建以太坊应用 Mar 28, 2025 am 09:18 AM

随着最近比特币价格超过20k美元的攀升,最近打破了3万美元,我认为值得深入研究创建以太坊

您可以从浏览器获得有效的CSS属性值吗? 您可以从浏览器获得有效的CSS属性值吗? Apr 02, 2025 pm 06:17 PM

我有人写了这个非常合法的问题。 Lea只是在博客上介绍了如何从浏览器中获得有效的CSS属性。那样的是这样。

在CI/CD上有点 在CI/CD上有点 Apr 02, 2025 pm 06:21 PM

我说的“网站”比“移动应用程序”更合适,但我喜欢Max Lynch的框架:

带有粘性定位的堆叠卡和一点点的杂物 带有粘性定位的堆叠卡和一点点的杂物 Apr 03, 2025 am 10:30 AM

前几天,我发现了科里·金尼文(Corey Ginnivan)网站上的这一点,当您滚动时,彼此之间的卡片堆放集。

在WordPress块编辑器中使用Markdown和本地化 在WordPress块编辑器中使用Markdown和本地化 Apr 02, 2025 am 04:27 AM

如果我们需要直接在WordPress编辑器中向用户显示文档,那么最佳方法是什么?

比较浏览器的响应式设计 比较浏览器的响应式设计 Apr 02, 2025 pm 06:25 PM

这些桌面应用程序中有许多目标是同时在不同的维度上显示您的网站。因此,例如,您可以写作

为什么Flex布局中的紫色斜线区域会被误认为是'溢出空间”? 为什么Flex布局中的紫色斜线区域会被误认为是'溢出空间”? Apr 05, 2025 pm 05:51 PM

关于Flex布局中紫色斜线区域的疑问在使用Flex布局时,你可能会遇到一些令人困惑的现象,比如在开发者工具(d...

See all articles