2010-09-15 137 views
4

我對css和html的新形式來自Actionscirpt ..我想知道是否有更好的方法來做到這一點。有沒有辦法在html中修改css div的屬性

我用下面的div創建了一個外部css。

#myDiv{ 
position:absolute; 
top:200px; 
left:200px; 
width:200px; 
height:200px; 
} 

和在html中我想使用不同的值/屬性3種不同的東西相同的股利。

<div id="myDiv">The top and left needs to be 150px</div> 
<div id="myDiv">The top and left needs to be 200px</div> 
<div id="myDiv"> The top and left needs to be 300px</div> 

有一個簡單的方法來做到這一點,而無需創建在CSS 3周的div ...

+2

每個ID應該是唯一 – NullUserException 2010-09-15 23:41:00

回答

4

首先,ID是獨特的元素和你應該只有每頁1。

要將相同樣式應用於多個元素,您應該使用一個類。

<div class="name-of-my-common-style"> 

然後從CSS中,使用點(。),而不是哈希(#)定義樣式該類。即

.name-of-my-common-style { 
    position:absolute; 
    top:200px; 
    left:200px; 
    width:200px; 
    height:200px; 
} 

重寫任何樣式,你可以使用內嵌CSS

<div class="name-of-my-common-style" style="width: 150px"> ... </div> 

這將從name-of-my-common-style拿起原來的風格,但覆蓋寬度由於內嵌width設置150px

另一種方法是爲每個寬度聲明創建一個單獨的類並將其應用於元素。

.name-of-my-common-style { ..default styles here..} 
.width-150 {width: 150px;} 
.width-200 {width: 200px;} 

,...等

然後你可以這樣使用它。

<div class="name-of-my-common-style width-150">I'm 150px wide</div> 

希望這會有所幫助。

+0

超級fantastick救了我很多額外的工作......。 – rex 2010-09-16 00:15:50

0

您可以使用:<div id="myDiv" style="top: 150px; left: 150px;">改變的特性將超過纏身,但其餘的仍將按你的CSS文件。

CSS優先級是這樣給出的(從最高到最低):inline - > CSS <head> tag - >在外部CSS文件中的定義。

但是,正如NullUserException所述,理想情況下每個div應該是唯一的。

1

首先,你不應該有多個具有相同ID的元素。 ID應該是唯一的。

這裏是實現你的目標,如果內嵌樣式沒有意義的最直接的方法:

.myDiv{ position:absolute; width:200px; height:200px; } 

#myDiv1 { top: 150px; left: 150px; } 
#myDiv2 { top: 200px; left: 200px; } 
#myDiv3 { top: 300px; left: 300px; } 

然後在HTML:

<div id="myDiv1" class="myDiv">The top and left needs to be 150px</div> 
<div id="myDiv2" class="myDiv">The top and left needs to be 200px</div> 
<div id="myDiv3" class="myDiv">The top and left needs to be 300px</div> 
2
.divvy { 
    /* common attributes go here */ 
    position: absolute; 
    width: 200px; 
    height: 200px; 
} 

/* specific (and unique attributes, since these are 'ids') here */ 
#d1 { top: 150px; left: 150px; } 
#d2 { top: 200px; left: 200px; } 
#d3 { top: 300px; left: 300px; } 

在HTML:

<div class="divvy" id="d1">The top and left needs to be 150px</div> 
<div class="divvy" id="d2">The top and left needs to be 200px</div> 
<div class="divvy" id="d3">The top and left needs to be 300px</div> 
1

首先,ID真的應該只在單個元件上使用。你真的想用「階級」,而不是「ID」(和你的CSS將.myDiv而非#myDiv

的唯一途徑,而無需創建在CSS 3周的div將應用額外的樣式屬性在這裏你需要重寫的樣式在CSS div標籤

例如:

<div class="myDiv" style="top: 150px; left: 150px;"> ... </div> 
<div class="myDiv"> this just uses the default style from the css </div> 
<div class="myDiv" style="top: 300px; left: 300px;"> ... </div> 
相關問題