PDA

View Full Version : [CSS]Semplice problema con i selettori


Mattyfog
27-07-2010, 20:12
Ciao a tutti!
Ho un problema con un template su http://ratman.mattyfog.com/index.php?tp=1 .
Ho un file html così strutturato:

...
<body>

<div class="left_and_right">
<div id="container">

<div id="header">
<jdoc:include type="modules" name="header" />
</div>

<div id="top_menu">
<jdoc:include type="modules" name="top_menu" />
</div>

<div id="sidebar_left">
<jdoc:include type="modules" name="sidebar_left" />
</div>

<div id="top_content">
<jdoc:include type="modules" name="top_content"/>
</div>

<div id="sidebar_right">
<jdoc:include type="modules" name="sidebar_right" />
</div>

<div id="content">
<jdoc:include type="component" />
</div>

<div id="footer_content">
<jdoc:include type="modules" name="footer_content"/>
</div>

<div id="footer">
<jdoc:include type="modules" name="footer" />
</div>

</div>

</div>

</body>
...

e un css che ha selettori come: #container .left_and_right che cito in esempio.
Le regole definite però dal selettore #container .left_and_right non vengono applicate.
Perchè?
ps: lavoro in joomla

MEMon
27-07-2010, 21:18
Ciao a tutti!
Ho un problema con un template su http://ratman.mattyfog.com/index.php?tp=1 .
Ho un file html così strutturato:

...
<body>

<div class="left_and_right">
<div id="container">

<div id="header">
<jdoc:include type="modules" name="header" />
</div>

<div id="top_menu">
<jdoc:include type="modules" name="top_menu" />
</div>

<div id="sidebar_left">
<jdoc:include type="modules" name="sidebar_left" />
</div>

<div id="top_content">
<jdoc:include type="modules" name="top_content"/>
</div>

<div id="sidebar_right">
<jdoc:include type="modules" name="sidebar_right" />
</div>

<div id="content">
<jdoc:include type="component" />
</div>

<div id="footer_content">
<jdoc:include type="modules" name="footer_content"/>
</div>

<div id="footer">
<jdoc:include type="modules" name="footer" />
</div>

</div>

</div>

</body>
...

e un css che ha selettori come: #container .left_and_right che cito in esempio.
Le regole definite però dal selettore #container .left_and_right non vengono applicate.
Perchè?
ps: lavoro in joomla

Nel codice che hai postato non ci sono classi "left_and_right" contenute in un eleemnto con id "container".

Mattyfog
27-07-2010, 21:32
Però il div padre del div con id container (quello sopra per intenderci :P) appartiene alla classe left_and_right. Il div con id container non dovrebbe quindi appartenere anche lui a tale classe?

Mattyfog
28-07-2010, 16:44
:D

MEMon
28-07-2010, 20:53
Però il div padre del div con id container (quello sopra per intenderci :P) appartiene alla classe left_and_right. Il div con id container non dovrebbe quindi appartenere anche lui a tale classe?

No, per attribuire un css al container o utilizzi semplicemente l'id "#container" o tutt'al più con ".right_and_left #container" (ma è inutile).

Utilizzando "#container .right_and_left" significa che il div container contiene un elemento con quella classe, ma così non è in questo caso.

Mattyfog
28-07-2010, 23:18
No, per attribuire un css al container o utilizzi semplicemente l'id "#container" o tutt'al più con ".right_and_left #container" (ma è inutile).

Utilizzando "#container .right_and_left" significa che il div container contiene un elemento con quella classe, ma così non è in questo caso.

Ah capito non pensavo che ci fosse anche un ordine da rispettare in casi come questo.
Comunque al momento è inutile ma tra pochissimo non lo sarà: sto creando un template per joomla e devo settare regole diverse a seconda le colonne laterali siano vuote o meno.

Grazie! :)