2009-06-29 6 views
5

El código es la siguiente:¿por qué el margen de clase no funciona?

<html> 
<head> 
<title>test</title> 
</head> 
<body> 
<div><span>shanghai</span><span class="margin"> </span><span>male</span></div> 
</body> 
</html> 

.margin { 
    width:40px; 
    height:auto; 
} 

Respuesta

10

No puede darle un ancho porque es un elemento en línea.

Esta propiedad especifica el ancho del contenido de cajas generadas por a nivel de bloque y elementos reemplazados. Esta propiedad no se aplica a elementos de nivel en línea no reemplazados. - CSS 2.1 Width property

Puede solucionar este problema por lo que es un elemento de bloque o inline-block en su lugar:

display:inline-block 

Sin embargo, esto puede no ser compatible con todos los navegadores. Sin embargo, probablemente pueda obtener el mismo resultado con esto:

margin-left:40px 
+0

sigue siendo el mismo :( – omg

+0

margin-left ayuda! – omg

+0

bloque en línea funciona en tramos en IE - ver http://www.quirksmode.org /css/display.html. FF2 todavía no está contento con el bloque en línea aunque –

0

Se debe indicar que se trata de una regla CSS: Ways to include CSS in your page.

+0

yup, .margin es una regla de css – omg

+1

Veo, pero usted pone esa regla fuera del documento html, ¿cómo puede saber el navegador que se trata de una pieza de CSS ?! –

0

poner

<style> 
    .margin {  
    width:40px;  
    height:auto; 
    } 
</style> 
+0

¿No es eso lo que hice, hm? – omg

+0

¿Lo pones en un .html y ves el efecto? – omg

+0

Sí y funciona muy bien :) – pedrofernandes

1

CSS debe entrar en la sección de cabecera y también debe ser envuelto en < style> ...

A menos que usted está accediendo a este valor de una hoja de estilo. Usted tendría que hacer referencia a esto en la sección head del documento:

<link rel="stylesheet" type="text/css" title="RSS" href="MyStyleSheet.css"> 
+0

lo siento, lo hice, pero omite en mi publicación – omg

+0

¿qué navegador estás usando? – James

+0

firefox ...... – omg

0

Intente cambiar el nombre de su clase ¿quizás?

margin es un atributo. No estoy seguro si CSS ha reservado palabras clave.

+0

intentó, no funciona, aunque – omg

+0

es bueno saber que css no se comporta de esta manera :) limpio. –

0

Creo que el problema es que la etiqueta está vacía. Simplemente ponga "& nbsp;" entre las dos etiquetas.

+0

intentado, no ayuda, aunque – omg

Cuestiones relacionadas