2012-07-11 57 views
3

我剛剛在幾個星期前學會了JavaScript和jQuery,自那時起,我總是通過知道屏幕和窗口的大小來定位我所有的div和東西在屏幕上我覺得非常有用,但現在我不知道這是否是一種好的做法,因爲它使我的網頁完全依賴於jquery,我不知道它是否會在不同的瀏覽器中導致一些麻煩。
我真的很想找到像「當然是一個很好的做法,使用所有你想要的腳本」的答案,因爲我真的很喜歡這個JavaScript的東西,但只是告訴你的想法。是定位與JavaScript一個很好的做法

回答

5

我很抱歉,但我會打破你的泡沫,有點。

這樣做有點好 - 只要頁面看起來OK,如果你禁用Javascript,我會說它應該看起來比「好」還要好。我也想說,如果你的網站的功能真的需要JavaScript,你也應該這樣做。

請記住,有一定比例的用戶將禁用Javascript。我已經看到網站看起來可怕這種方式(我使用Firefox上的NoScript,並選擇性地啓用JavaScript,因爲我的瀏覽器),和一對什麼都沒有出現沒有啓用JS。

不好。如Darin所說,你可以(也應該)使用CSS進行定位和造型。這是它的目的!隨意使用Javascript來增強頁面,但請記住我上面所說的內容!

+0

這不是一個好習慣。我不想追捕從JavaScript設置的樣式。我的工具可以幫助我在CSS中找到不是JS的東西。 – 2012-07-11 15:36:36

+1

@Bart我不知道你是否閱讀*整個*答案... – 2012-07-11 15:37:57

+0

是的,我讀了你的答案,你說「它可以做到這一點」。 – 2012-07-11 15:48:42

2

您可以使用CSS來定位和設計元素的樣式。這就是它的設計目的。

0

這幾乎肯定是不好的做法。使用CSS進行樣式化 - JavaScript執行此操作更慢,工作更多,並且更容易中斷。

0

如果您將所有內容完全定位(固定座標),則在不同分辨率的屏幕上顯示效果不佳。這個問題沒有真正的答案..腳本有自己的位置,你可以使用你想要的所有腳本......但是,定位佈局的所有元素對於JS來說並不是一項工作。爲此使用CSS。

我會從這裏開始:Starting with HTML + CSS

2

沒關係使用它在某些情況下定位,但使用CSS是更好的做法,只要適用。

2

嗯,在我看來,你應該儘量避免它。但是我知道有時候你沒有選擇。

而且你可以使用腳本製作出色的網絡應用程序。

-1

沒有一種方法適用於所有情況。每個Web應用程序都需要使用正確的工具和實踐來實現其目標。這在應用程序之間變化很大,對於您的問題沒有「正確的」答案。

+0

有一個正確的答案。你永遠不會建議選擇JS來設計主要網站部分或元素的樣式。同樣,您也不會爲遊戲或其他應用程序提供CSS,因爲定位或樣式可能過於動態,無法通過平坦的非動態CSS文件實現。 – Utkanos 2012-07-11 16:00:52

6

將JavaScript用於行爲和CSS進行造型。

對於其他開發人員/設計師來說,使用JavaScript進行樣式設計較慢且難度很大,難以確定您所做的工作。

另外,如果您使用Firebug或Chrome Web Inspector,則無法看到您的樣式來自何處。

可選擇從JavaScript中設置類而不是特定樣式。您可以在類之間轉換以創建一個很好的效果。但至少你的同事可以看到樣式的定義和改變。

+0

+1這當然不是「最佳做法」。 – kapa 2012-07-11 15:36:51

+0

我同意這個答案,儘管我的評論可能似乎有不同意見。 – 2012-07-11 15:56:23

1

這取決於你的定位。

CSS應該是您定位標準的,普通的部分和網頁元素的首選。在這些情況下選擇JavaScript表明缺乏對CSS的理解。

同樣,如果您發現自己使用JS來定位不同設備的東西。 CSS再一次演變了;媒體查詢來了。規則:首先總是耗盡CSS的可能性。

也就是說,如果說JavaScript永遠不會用於定位,那就太簡單了。我們所有人,無論是對還是錯,都是爲了讓事物看起來正確的跨瀏覽器,特別是在支持較老的IE瀏覽器的情況下使用JS(而且這只是訴諸於)。

但是到目前爲止,JS定位的最大用例是現代web aps和遊戲。如果你正在建造一個星羅棋佈的隨機小行星遊戲,JS絕對是你的選擇,因爲這些位置是基於計算和計算的。

最後,請記住,當您在JS中定位時,您當然仍在使用CSS。 JS沒有自己的併發造型/定位系統 - 它只是設置CSS屬性。它只是能夠比平面CSS更加動態和有條件地做到這一點。

相關問題