2013-03-30 66 views
1

我的項目中有很多模板,它們之間的差別很小。我發現在我的css文件中創建新的「部分」以容納這一點很麻煩。嵌入式風格不好的做法?

在我的模板中放置了類似這樣的東西嗎?

{% block stylesheets %} 
{{ parent() }} 
<style> 

    #chart { 
    height: 350px; 
    } 
    .aside h4 { 
    margin: 0; 
    padding-bottom: 10px; 
    } 

</style> 
{% endblock %} 

{% block content %] 
... 

回答

5

無論是否皺眉,始終保持自己DRY!如果您有可能在別處使用代碼行,請將其移出到可參照的塊中。 CSS應該很容易保持乾燥。

+0

在這裏,我定義了不同的儀表盤式頁面上的圖表高度,所以事情總是會改變。我確實有一個我用於可重用樣式的全局。 –

+1

即使這樣你可以有一個可重用類'height350px',而不是在單個塊上設置高度。當然你會有額外的標記。 – qooplmao

2

沒有嵌入的樣式表是不錯的。這取決於具體情況。根據你的說法,如果你可以從頭開始編寫css文件,你應該這樣做或者依賴於模板的css,最好使用嵌入式(如果項目很小)。

如果您發現編寫嵌入式樣式css需要時間,可以爲標題,輸入字段,按鈕等某些元素編寫通用css。

0

通常,我使用這種技術:

1)每個模板在體內產生特定的類或某些包封DIV

<body class="myTemplate">... 

<body class="otherTemplate">... 

2)I指定常規風格,像

h1 { color: red; } 

3)然後我使用上下文選擇器爲特定模板指定特殊樣式:

.myTemplate h1 { color: green; } 
.otherTemplate h1 { color: blue; } 

這樣我就可以避免使用動態樣式表,因爲將這些引入項目通常是一個壞主意。它是許多錯誤的來源,並且動態代碼趨於超越控制。

+0

我就是這麼做的,但後來變得非常複雜。我有一個使用'/ ** Template ** /'的大型樣式表來查找那些模板特定的規則。現在,我在模板中只有兩個或三個頁面特定的規則,而且看起來更合理。你怎麼看? –

+0

我可以想象這種情況何時有意義,但我還沒有遇到過。另一方面,我可能更喜歡鏈接到頁面的頁面特定樣式表,因爲它們更容易調試,並且可以使用緩存來獲得更好的性能。 – Richard

相關問題