2016-05-31 115 views
0

我对CSS适用于HTML的顺序感到困惑。我正在创建HTML元素并从javascript添加样式。另外,我也有一个适用于元素的样式表。CSS和Javascript - 执行优先

  1. JavaScript端:element.style.someStyle = ''
  2. JavaScript端:element.classList.add( '风格')
  3. CSS侧:元素{someStyle = ''}

什么是应用程序的序列?

+1

你能展示你是如何包含CSS和脚本文件在你的HTML? –

+0

请使用格式工具学习[问]并格式化您的问题 – Amit

+2

不断应用CSS,JavaScript代码将按执行顺序应用。 – str

回答

1

让这样说吧你的网站是一个房子;

你家里的HTML将成为所有的墙壁,栏目等等。自己看起来很丑。

CSS到位,以获得他们的风格,绘画,设计,更多。

你首先建造房子(HTML),然后你画它(CSS)。但随着时间的推移,你意识到需要为你的房子(HTML)添加一个新的房间,建造者(JS)增加了新的房间,并且一旦到位,CSS就应用于新的元素。

每当构建器(JS)添加一个新的部件到房子(HTML)时,设计师(CSS)都会对它进行设计。

现在的做法:

你应该加载在顶部(head标签),CSS,因此所有的款式都准备好一旦需要。另一方面,JS应该在body的结束标记之前加载。

感谢

1

什么是应用程序的顺序?

以下是样式如何应用的优先顺序。

  1. 内嵌:直接在HTML元素标签放置。
  2. 内部:放在<style>标签内的单个查看页面中。
  3. 外部:放置在外部(.css)样式表中。

请记住,声明最接近HTML标签的样式将优先。例如,

<style type="text/css"> 

/* internal style */ 
body 
{ 
    background-color: white; 
} 
</style> 

<!-- inline style --> 
<body style = "background-color: green"> 
</body> 

外部样式表

body 
{ 
    background-color: black; 
} 

在上面的设置,都将给身体绿颜色按优先顺序不管是在内部或外部的样式表中定义。但是,即使内部/外部样式可以通过在样式中使用!important关键字来获得最高优先级,但应该明智地选择它。

我从javascript创建HTML元素并添加样式和类。

它一般不建议通过JavaScript添加的样式,因为这个过程是昂贵的,如果你一直在使用它广泛的它显着降低性能。除了其他技术原因,让我们关注你的关注。

每当您从脚本添加样式时,它都会作为内嵌样式应用于您的HTML元素标记。这意味着如果你在其他地方写了相同的风格,他们可能无法工作。

另一方面,从脚本切换CSS类被认为是一种很好的方法,因为这样你不是实际上添加样式。

IMO,keeping the styles on external style sheet来,因为

  • 这让事情分开,并在一个地方,哪一个更容易管理的回报相当不错。视图不应该负责声明样式,甚至不是脚本。这是CSS的工作。
  • 它消除了不必要的污染,否则会使代码难以阅读。
  • 浏览器可以缓存样式表,并且不会将其下载以供以后访问。这意味着您的样式将以更快的速度应用,页面显得更加快速响应。