Coding style CSS3的智能方法

Coding style CSS3的智能方法,coding-style,cross-browser,css,Coding Style,Cross Browser,Css,您是否有任何优雅的方法可以从CSS3特性(如边界半径或渐变)中获益 我正在寻找一种解决方案,可以避免特定于浏览器的CSS属性和特定于浏览器的样式表文件。我发现它们既难以维护,又过于冗长 它可以是一个Javascript库,负责跨浏览器兼容性。因此,我可以只使用W3C CSS3属性支持(不是特定于浏览器的),并在浏览器能够很好地支持CSS3时去掉该库 到目前为止,我发现这些资源似乎至少满足了我的一些期望: -JS被告知要在不同的浏览器上模仿CSS3的功能(即使是IE6),但是我还没有测试过()

您是否有任何优雅的方法可以从CSS3特性(如边界半径或渐变)中获益

我正在寻找一种解决方案,可以避免特定于浏览器的CSS属性和特定于浏览器的样式表文件。我发现它们既难以维护,又过于冗长

它可以是一个Javascript库,负责跨浏览器兼容性。因此,我可以只使用W3C CSS3属性支持(不是特定于浏览器的),并在浏览器能够很好地支持CSS3时去掉该库

到目前为止,我发现这些资源似乎至少满足了我的一些期望:

  • -JS被告知要在不同的浏览器上模仿CSS3的功能(即使是IE6),但是我还没有测试过()
  • -JS,用于检测浏览器支持哪些CSS3属性
  • 。。。我会用你的答案来解释
或者您有其他方法可以让您利用CSS3而无需非常详细的代码?

您可以使用,在他们的主页上有一个边界半径示例:

.rounded_corners (@radius: 5px) {
    -moz-border-radius: @radius;
    -webkit-border-radius: @radius;
    border-radius: @radius;
}
#header {
    .rounded_corners;
}
然而,我真的不觉得使用浏览器前缀有那么麻烦。对于
边界半径
,您唯一需要的是:

-webkit-border-radius: 5px;
   -moz-border-radius: 5px;
        border-radius: 5px;
这将在十几种浏览器中使用(如果包括移动浏览器的话)。以这种方式使用缩进还可以更容易地不忘记更新其中一个属性。当您决定放弃对Safari 4或其他任何东西的支持时,只需搜索并替换要从CSS文件中删除的规则

相比之下,当我们需要盒型黑客,NS4,IE5/Mac修复,以及所有这些垃圾

您可以使用,在他们的主页上有一个边界半径示例:

.rounded_corners (@radius: 5px) {
    -moz-border-radius: @radius;
    -webkit-border-radius: @radius;
    border-radius: @radius;
}
#header {
    .rounded_corners;
}
然而,我真的不觉得使用浏览器前缀有那么麻烦。对于
边界半径
,您唯一需要的是:

-webkit-border-radius: 5px;
   -moz-border-radius: 5px;
        border-radius: 5px;
这将在十几种浏览器中使用(如果包括移动浏览器的话)。以这种方式使用缩进还可以更容易地不忘记更新其中一个属性。当您决定放弃对Safari 4或其他任何东西的支持时,只需搜索并替换要从CSS文件中删除的规则


相比之下,当我们需要盒型黑客,NS4,IE5/Mac修复,以及所有这些垃圾

这不是特定于CSS3的,但当您要求一种简洁的方式来处理样式时,并提到Modernizer(它通过向
元素添加
,如
无边框半径
,如果该功能不可用),我认为这可能有助于采用一种普遍改进的方式来组织CSS

有一种方法允许在CSS中使用变量、mixin或嵌套规则(参见链接中的示例)。但是,这需要将.less文件编译为有效的.css。为了避免这种情况,有/将有(另请参见:)允许您直接在页面中包含.less文件(至少在开发过程中有用)


我认为LESS不需要您学习很多新的语法规则,可能有助于将回退CSS组织到“真实”样式旁边。

这不是CSS3的具体内容,但您需要一种简洁的方式来处理样式,并提及Modernizer(如果
元素不具备该功能,则可通过向
元素添加
无边框半径
来实现),我认为这可能有助于改进CSS的组织方式

有允许在CSS中使用变量、混合或嵌套规则的方法(请参见链接中的示例)。但是,这要求您将.less文件编译为有效的.CSS。为了避免这种情况,有/将有(请参见:)允许您在页面中直接包含.less文件(至少在开发过程中有用)


我认为LESS不需要你学习很多新的语法规则,可能有助于在“real”旁边组织回退CSS样式。

谢谢。LESS看起来确实很有趣。顺便说一句,我希望CSS支持变量、混合或操作。但是,缺少与CSS的向后兼容性对我来说是一个很大的缺点。LESS编译为常规CSS,您可以随时自由使用生成的CSS文件,而不是LESS。它只是有助于在开发过程中组织CSS(维修及保养)。另外,将你的.css文件重命名为.less,你就有了一个有效的less文件。因此,很容易从一个文件切换到另一个文件并返回。谢谢。less看起来确实很有趣。顺便说一句,我希望css支持变量、混合或操作。但是,缺少与css的向后兼容性对我来说是一个很大的缺点。less被编译为常规css,你可以自由使用生成的CSS文件在任何时候都不是LESS。它只是帮助您在开发(和维护)期间组织CSS。此外,将.CSS文件重命名为.LESS,您就有了一个有效的LESS文件。因此,可以很容易地从一个文件切换到另一个文件,然后再切换回来。关于Modernizer的链接:关于Modernizer的链接: