使用JS更改内联样式与更改外部样式表样式

时间:2014-04-12 12:07:14

标签: javascript css

在HTML 中更改内容的特定内容有什么好处?使用Javascript 从外部样式表更改?

例如,this post解释了如何从外部样式表中完成样式的更改。但是,这个过程看起来要比内联更改复杂得多,而且还可能存在跨浏览器问题。但是,这个帖子可能已经过时了(它已经过了3年,其中一条评论说即使那时它已经过了4年)。还有另一种更近期的做法吗?

我问这个是因为我试图让我的HTML和CSS完全分开 但是,就代码的易读性和性能而言,简单地指定我想要内联而不是外部样式表的样式可能更简单吗?
关于这个问题,有没有最佳实践?

2 个答案:

答案 0 :(得分:1)

当使用Javascript临时访问或修改元素的样式时,无论是内联还是在css中定义该样式都没有区别 - 您将获得由优先级应用的样式,并且Javascript更改将覆盖任何声明的样式。 / p>

但是,一般的最佳做法是使用单独的样式表(如果您打算为IE9及更低版本设置条件样式表,或者将大量样式拆分为可管理的块,则可能有几个样式表)

这种方法在调试和实时更改样式时不那么复杂。

使用外部样式表,您可以通过删除新的.css文件来在几秒钟内更改整个站点。你不能用内联样式做到这一点。

答案 1 :(得分:0)

inline-css没有任何好处,除非它更重要。

外部css具有缓存的好处。

然而,渲染以下内容的顺序是遵循的顺序。

内联CSS样式比<style></style>中声明的样式更重要,<style>中声明的样式比外部css中声明的样式更重要。文件。

Inline-css甚至<style>不是首选,通常是不好的做法,因为额外的字节是通过HTTP传输的,而且它们不能像外部css文件那样被缓存。

使用javascript进行样式化应该只是添加一个类或删除一个类或隐藏和显示它们,以改善用户体验。