2010-09-15 131 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> 
相关问题