我对来自PHP/MySQL环境的客户端编程比较陌生.我理解CSS和JavaScript在浏览器环境中可以发挥的作用,然而,如果没有JavaScript,它似乎不可逆转地停滞不前.我绝不想创造一场辩论,但这就是我对"新手"的看法.那么为什么不只使用JavaScript来设置元素属性/属性呢?如果是这样,这是一种常见做法吗?(我确信CSS要快得多......)
一些一般观点:
CPU成本
运行Javascript以将样式应用于单个元素将非常慢.Javascript是同步的,因此它必须一次更新一种样式.另外,如其他地方所述,遍历DOM在计算上是昂贵的.更重要的是,如果您正在应用样式,因为每次应用更改时都强制浏览器重新呈现网站.
脑费用
尝试在Javascript中编写和维护样式也是一种精神上的代价.它是一种从不打算包含布局规则的函数式语言.CSS更容易阅读.
他们级联!
CSS代表Cascading Style Sheets.风格的一大好处是可以继承彼此的属性.考虑以下:
a.nav { font-weight: bold; }
Run Code Online (Sandbox Code Playgroud)
现在你所有与"nav"类的链接都是粗体.但是,如果您希望进一步修改链接,您仍然可以:
li a.nav { color: red; }
Run Code Online (Sandbox Code Playgroud)
现在,列表项中包含的所有a.nav链接都将为红色和粗体.这可能是javascript,但你必须强迫它,维护将是可怕的.
如果你使用Javascript作为样式,你的同事会打败你!
我认为这种说法本身就是一种说法
Css用于页面布局和样式.
Javascript用于行为.
即使可以用javascript完全替换css,它也不被认为是标准做法,并且会被大多数Web开发人员严厉批评.
良好的Web开发总是假设客户端可能关闭了javascript并提供优雅的默认设置.用javascript替换css可能会使这变得不可能.
| 归档时间: |
|
| 查看次数: |
199 次 |
| 最近记录: |