2016-06-01 21 views
0

我搞亂了香草JavaScript,並且我注意到當用js在DOM中定義文檔時,樣式是內聯的。有沒有一種方法來設置樣式表,使用DOM上的JavaScript還是使用Javascript的不良做法?我認爲它可能有一些用途,當一個網站的部分改變與用戶交互,但我猜測同樣的事情可以用CSS僞類來完成。爲了重申我的問題,你可以使用JavaScript來在DOM中設計樣式表,還是隻是內聯和不好的做法?當通過在DOM上使用vanilla js設置css樣式時,它總是內聯樣式?

body.style.backgroundColor= "blue"; 

+1

你有沒有讀過https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Getting_started/JavaScript – jonrsharpe

+1

我建議在.css樣式表中準備類,並在javaScript中分配它們。用JavaScript寫CSS不是最好的做法。是的,它將始終是內聯樣式。 –

回答

3

最佳實踐,在我看來,是建立在獨立的CSS文件中的類,然後用JS改變元素類。它看起來更好,也更容易閱讀和理解。

但是,如果你想,你可以改變樣式表。閱讀本文 Is it possible to alter a CSS stylesheet using JavaScript? (NOT the style of an object, but the stylesheet itself)

+0

@Kaiido不,我想說的是,當你使用JS直接改變CSS它是內聯。但是有一種方法可以更改樣式表,但它更像是您打開給定鏈接時可以看到的解決方法。 – Nogi

+0

我非常瞭解如何使用js的styleSheets。這不是一個解決方法,只是更復雜。 「*在JS中編寫CSS將始終是內聯樣式*」的錯誤,如鏈接所示。使用js編寫非內聯CSS還有其他方法(可能更復雜)。應該說的是,設置元素的style屬性也會改變其style屬性。我甚至不確定我們可以將它稱爲*內聯*,因爲它不在.html文件中內聯,而是由腳本完成。 – Kaiido

+0

另外,雖然在一般情況下,使用內聯樣式是一種不好的做法,但我希望看到如何使用類來處理一些跟隨鼠標的樣式和其他方法。 – Kaiido