2012-07-17 23 views
5
<ul id='ul01'> 
    <li><a href='#'><img src='img01.png' width="700" height="590" /></a></li> 
    <li><a href='#'><img src='img02.png' width="700" height="590" /></a></li> 
    <li><a href='#'><img src='img03.png' width="700" height="590" /></a></li> 
</ul> 

CSS:Cómo ajustar la propiedad de ancho ul?

#ul01{list-style:none;width:??;} 
#ul01 li{float:left;} 

Ésta es una serie horizontal de las imágenes. list.items.count puede variar.
¿Cuál debe ser la propiedad de ancho para adaptarse a todas las imágenes.
He intentado con - auto - y ancho resizible esperado - pero no lo es.

+1

cada imagen (700px) ya ocupa el ancho de la pantalla? – codingbiz

+0

¿Puedes usar JavaScript? – jfrej

+0

¿Puedes describir claramente lo que estás buscando aquí? – thirtydot

Respuesta

8

Hacer los elementos liinline-block s y establezca la propiedad white-space del ul a nowrap.

li { 
    display: inline-block; 
} 
ul { 
    white-space: nowrap; 
} 
+1

+1 La única solución de trabajo. – Christoph

+1

Sí, funciona, gracias a EveryOne, especialmente a magicalex – Alice

0

intente jquery, de modo que en el archivo css puede poner 0, y el valor se cambiaría más tarde.

<script type="text/javascript"> 
    $(document).ready(function() { 
    var sum = 0; 
    $('#ul01 li img').each(function() { 
     sum += parseInt($(this).attr("width"), 10); 
    }); 
    $('#ul01').css({ 'width': sum+'px' }); 
    }); 
</script> 
2

hacer estos cambios, creo que éstos trabajarán para usted ...

#ul01{list-style:none;width:100%;} 
#ul01 li{float:left; width:33%; } 
#ul01 li a { display:block; } 
#ul01 li a img { width:100%; height:auto; } 

<ul id='ul01'> 
    <li><a href='#'><img src='img01.png' /></a></li> 
    <li><a href='#'><img src='img02.png' /></a></li> 
    <li><a href='#'><img src='img03.png' /></a></li> 
</ul> 
+0

pero el OP tiene una altura de la imagen fija y anchura – codingbiz

+1

-1 tamaño de la imagen fija y "list.items.count puede variar" – Christoph

+0

que no nos importó pero el beneficio es la imagen con cualquier tamaño se ajustará para que – SaurabhLP

1

si sus imágenes tienen que conservar los tamaños especificados, entonces sepa que su página tendrá barra de desplazamiento horizontal. Si prefiere que esto funcionará

#ul01{list-style:none;width:2100px;} 
#ul01 li{float:left; width:700px} 

El ancho ul tiene que ser el (width X 3) + (2 X image-border-if-any} + padding = 2100px + n

+0

@ tcoder número de imágenes puede variar – Alice

+0

luego pruebe @Christoph respuesta – codingbiz

0

Usted acaba de poner a la propiedad de ancho elemento ul.

Cuestiones relacionadas