Discussion:
Ajustar lista al ancho del contenedor
Rafa Artacho
2010-04-15 15:13:00 UTC
Permalink
Buenas tardes:

Tengo un menú que será dinámico y que dependiendo de las necesidades
contendrá un número variable de elementos. Necesitaría que la lista se
adaptase al ancho del div contenedor (974px). El HTML del menú con 6
opciones:

<div id="navbar">
<ul style="overflow:hidden;border:1px solid #000;">
<li>Inicio</li>
<li>Películas</li>
<li>Música</li>
<li>Teatro</li>
<li>Exposiciones</li>
<li>Coches</li>
</ul>
</div>


¿Sería posible hacer esto solamente con CSS o sería necesario usar JS?
Luis Mario Álvarez
2010-04-15 15:17:13 UTC
Permalink
Si el contenedor padre tiene definido su ancho, basta con hacer width:
100%;al tag que necesitas lo llene.
Te recomendaría además que quites esos estilos de tu ul y los metas en
algúna hoja css. No es necesario que le asignes clase o id, basta con #navbar
ul {overflow:hidden ;border:1px solid #000;}

Saludos!
Post by Rafa Artacho
Tengo un menú que será dinámico y que dependiendo de las necesidades
contendrá un número variable de elementos. Necesitaría que la lista se
adaptase al ancho del div contenedor (974px). El HTML del menú con 6
<div id="navbar">
<ul style="overflow:hidden;border:1px solid #000;">
<li>Inicio</li>
<li>Películas</li>
<li>Música</li>
<li>Teatro</li>
<li>Exposiciones</li>
<li>Coches</li>
</ul>
</div>
¿Sería posible hacer esto solamente con CSS o sería necesario usar JS?
_______________________________________________
Lista de distribución Ovillo
http://lists.ovillo.org/mailman/listinfo/ovillo
--
mario álvarez
desarrollador web
Rafa Artacho
2010-04-15 15:26:49 UTC
Permalink
He probado así:

#navbar{color:#FF0000;width:974px;}
#navbar ul{width:100%;}
#navbar ul li{float:left;font-size:1.2em;color:#00FF00;padding:0 5px 0
10px;border-right:1px solid #000;text-align:right;}

De este modo el ul queda extendido hasta el 100% del div #navbar, pero los
li no se ajustan al 100% del ul. Si pongo 100% al li ocupa cada li el 100%
del div #navbar. ¿Dónde sería el error?

El style lo puse para ver visualmente hasta dónde se extendía el contenedor,
cuando termine las pruebas lo quitaría.

Gracias!
Post by Luis Mario Álvarez
100%;al tag que necesitas lo llene.
Te recomendaría además que quites esos estilos de tu ul y los metas en
algúna hoja css. No es necesario que le asignes clase o id, basta con #navbar
ul {overflow:hidden ;border:1px solid #000;}
Saludos!
Post by Rafa Artacho
Tengo un menú que será dinámico y que dependiendo de las necesidades
contendrá un número variable de elementos. Necesitaría que la lista se
adaptase al ancho del div contenedor (974px). El HTML del menú con 6
<div id="navbar">
<ul style="overflow:hidden;border:1px solid #000;">
<li>Inicio</li>
<li>Películas</li>
<li>Música</li>
<li>Teatro</li>
<li>Exposiciones</li>
<li>Coches</li>
</ul>
</div>
¿Sería posible hacer esto solamente con CSS o sería necesario usar JS?
_______________________________________________
Lista de distribución Ovillo
http://lists.ovillo.org/mailman/listinfo/ovillo
--
mario álvarez
desarrollador web
_______________________________________________
Lista de distribución Ovillo
http://lists.ovillo.org/mailman/listinfo/ovillo
Carlos Acero Sánchez
2010-04-15 15:36:28 UTC
Permalink
Prueba a dividir el número de elementos li entre 100 y se le aplicas:

100/6 = 16.6

#navbar ul li
{
float:left;
font-size:1.2em;
color:#00FF00;
padding:0 5px 0 10px;
border-right:1px solid #000;
text-align:right;
width:16.6%
}


Carlos Acero Sánchez
Dpto. Sistemas
Aguirre Newman Madrid

C/ General Lacy, 23. 28045 Madrid
T +31 91 319 13 14 F +34 91 319 87 57
***@aguirrenewman.es
www.aguirrenewman.com
Sé ecológico, antes de imprimir este e-mail piense bien si es necesario hacerlo



-----Mensaje original-----
De: ovillo-***@lists.ovillo.org [mailto:ovillo-***@lists.ovillo.org] En nombre de Rafa Artacho
Enviado el: jueves, 15 de abril de 2010 17:27
Para: Ovillo, la lista de CSS en castellano
Asunto: [Correo sospechoso] Re: [Ovillo] Ajustar lista al ancho del contenedor

He probado así:

#navbar{color:#FF0000;width:974px;}
#navbar ul{width:100%;}
#navbar ul li{float:left;font-size:1.2em;color:#00FF00;padding:0 5px 0
10px;border-right:1px solid #000;text-align:right;}

De este modo el ul queda extendido hasta el 100% del div #navbar, pero los
li no se ajustan al 100% del ul. Si pongo 100% al li ocupa cada li el 100%
del div #navbar. ¿Dónde sería el error?

El style lo puse para ver visualmente hasta dónde se extendía el contenedor,
cuando termine las pruebas lo quitaría.

Gracias!
Post by Luis Mario Álvarez
100%;al tag que necesitas lo llene.
Te recomendaría además que quites esos estilos de tu ul y los metas en
algúna hoja css. No es necesario que le asignes clase o id, basta con #navbar
ul {overflow:hidden ;border:1px solid #000;}
Saludos!
Post by Rafa Artacho
Tengo un menú que será dinámico y que dependiendo de las necesidades
contendrá un número variable de elementos. Necesitaría que la lista se
adaptase al ancho del div contenedor (974px). El HTML del menú con 6
<div id="navbar">
<ul style="overflow:hidden;border:1px solid #000;">
<li>Inicio</li>
<li>Películas</li>
<li>Música</li>
<li>Teatro</li>
<li>Exposiciones</li>
<li>Coches</li>
</ul>
</div>
¿Sería posible hacer esto solamente con CSS o sería necesario usar JS?
_______________________________________________
Lista de distribución Ovillo
http://lists.ovillo.org/mailman/listinfo/ovillo
--
mario álvarez
desarrollador web
_______________________________________________
Lista de distribución Ovillo
http://lists.ovillo.org/mailman/listinfo/ovillo
_______________________________________________
Lista de distribución Ovillo
Para escribir a la lista, envia un correo a ***@lists.ovillo.org
Puedes modificar tus datos o desuscribirte en la siguiente dirección: http://lists.ovillo.org/mailman/listinfo/ovillo

En cumplimiento de la Ley 15/1999, de 13 de diciembre, de Protección de Datos de Carácter Personal, le informamos que los datos de carácter personal utilizados para la presente comunicación proceden de un fichero de datos de carácter personal titularidad de Aguirre Newman, S.A., debidamente notificado ante la Agencia Española de Protección de Datos, cuya finalidad es la gestión (control, mantenimiento y archivo de la documentación) de la relación que mantiene con el GRUPO AGUIRRE NEWMAN y la comunicación con terceros. Dichos datos, por consiguiente, han sido incorporados o serán incorporados en dicho fichero para los usos y finalidades indicadas, pudiendo ser objeto de comunicación a las Compañías que integran el GRUPO AGUIRRE NEWMAN, cuya identidad podrá consultar en el aviso legal de la página web corporativa www.aguirrenewman.es, cuando sea necesario y/o pertinente para el cumplimiento de las finalidades señaladas.
Si Ud. no consintiese la utilización del correo electrónico para enviarle comunicaciones electrónicas, la comunicación de sus datos de contacto al resto de empresas del GRUPO AGUIRRE NEWMAN o deseara revocar su consentimiento al tratamiento de sus datos, podrá hacerlo mediante un correo electrónico dirigido a ***@aguirrenewman.es. Asimismo, si Ud. desea ejercitar sus derechos de acceso, rectificación, cancelación y oposición podrá hacerlo dirigiéndose por escrito al Departamento de Asesoría Jurídica de Aguirre Newman, S.A., calle General Lacy número 23, C.P. 28045 Madrid, remitiendo, junto con la solicitud, una fotocopia de un documento oficial de identificación (DNI, Pasaporte, etc).
____________________________________________________________________________

According to Spanish Data Protection Law 15/1999, we hereby inform that the personal data used in this communication come from an automated data filed owned by Aguirre Newman, S.A., which has been duly notified to the Spanish Data Protection Agency, and whose purpose is managing (control, maintenance and archiving) the relationship you hold with GRUPO AGUIRRE NEWMAN and its communication with third parties. Such personal data has been included within the referred data file for the uses and purposes above-mentioned and may be transferred to other companies of the AGUIRRE NEWMAN Group, when necessary for the compliance of the purposes above-mentioned. The companies that form the AGUIRRE NEWMAN GROUP are listed in the legal notice of the corporate web site www.aguirrenewman.es.
If you do not consent the use of you e-mail for sending electronic communications, or transferring your personal data to the companies of the AGUIRRE NEWMAN Group, or you want to revoke your consent, please send an e-mail to ***@aguirrenewman.es. In addition, if you want to exercise your rights of access, rectification, cancellation and/or opposition, please send a written request to the Legal Department of Aguirre Newman, S.A. c/ General Lacy Nº 23, PO. BOX 28045 Madrid, attaching a photocopy of an official identification document (DNI, Passport, etc).
Rafa Artacho
2010-04-15 15:39:19 UTC
Permalink
El problema es el menú será dinámico por lo que en ocasiones pueden aparecer
6 elementos en el menú pero otras veces pueden aparecer 8, 10, 5...

Con JS se puede lo que quería saber es si se puede hacer únicamente con CSS.

Gracias!
Post by Carlos Acero Sánchez
100/6 = 16.6
#navbar ul li
{
float:left;
font-size:1.2em;
color:#00FF00;
padding:0 5px 0 10px;
border-right:1px solid #000;
text-align:right;
width:16.6%
}
Carlos Acero Sánchez
Dpto. Sistemas
Aguirre Newman Madrid
C/ General Lacy, 23. 28045 Madrid
T +31 91 319 13 14 F +34 91 319 87 57
www.aguirrenewman.com
Sé ecológico, antes de imprimir este e-mail piense bien si es necesario hacerlo
-----Mensaje original-----
Enviado el: jueves, 15 de abril de 2010 17:27
Para: Ovillo, la lista de CSS en castellano
Asunto: [Correo sospechoso] Re: [Ovillo] Ajustar lista al ancho del contenedor
#navbar{color:#FF0000;width:974px;}
#navbar ul{width:100%;}
#navbar ul li{float:left;font-size:1.2em;color:#00FF00;padding:0 5px 0
10px;border-right:1px solid #000;text-align:right;}
De este modo el ul queda extendido hasta el 100% del div #navbar, pero los
li no se ajustan al 100% del ul. Si pongo 100% al li ocupa cada li el 100%
del div #navbar. ¿Dónde sería el error?
El style lo puse para ver visualmente hasta dónde se extendía el contenedor,
cuando termine las pruebas lo quitaría.
Gracias!
Post by Luis Mario Álvarez
100%;al tag que necesitas lo llene.
Te recomendaría además que quites esos estilos de tu ul y los metas en
algúna hoja css. No es necesario que le asignes clase o id, basta con #navbar
ul {overflow:hidden ;border:1px solid #000;}
Saludos!
Post by Rafa Artacho
Tengo un menú que será dinámico y que dependiendo de las necesidades
contendrá un número variable de elementos. Necesitaría que la lista se
adaptase al ancho del div contenedor (974px). El HTML del menú con 6
<div id="navbar">
<ul style="overflow:hidden;border:1px solid #000;">
<li>Inicio</li>
<li>Películas</li>
<li>Música</li>
<li>Teatro</li>
<li>Exposiciones</li>
<li>Coches</li>
</ul>
</div>
¿Sería posible hacer esto solamente con CSS o sería necesario usar JS?
_______________________________________________
Lista de distribución Ovillo
http://lists.ovillo.org/mailman/listinfo/ovillo
--
mario álvarez
desarrollador web
_______________________________________________
Lista de distribución Ovillo
http://lists.ovillo.org/mailman/listinfo/ovillo
_______________________________________________
Lista de distribución Ovillo
http://lists.ovillo.org/mailman/listinfo/ovillo
En cumplimiento de la Ley 15/1999, de 13 de diciembre, de Protección de
Datos de Carácter Personal, le informamos que los datos de carácter personal
utilizados para la presente comunicación proceden de un fichero de datos de
carácter personal titularidad de Aguirre Newman, S.A., debidamente
notificado ante la Agencia Española de Protección de Datos, cuya finalidad
es la gestión (control, mantenimiento y archivo de la documentación) de la
relación que mantiene con el GRUPO AGUIRRE NEWMAN y la comunicación con
terceros. Dichos datos, por consiguiente, han sido incorporados o serán
incorporados en dicho fichero para los usos y finalidades indicadas,
pudiendo ser objeto de comunicación a las Compañías que integran el GRUPO
AGUIRRE NEWMAN, cuya identidad podrá consultar en el aviso legal de la
página web corporativa www.aguirrenewman.es, cuando sea necesario y/o
pertinente para el cumplimiento de las finalidades señaladas.
Si Ud. no consintiese la utilización del correo electrónico para enviarle
comunicaciones electrónicas, la comunicación de sus datos de contacto al
resto de empresas del GRUPO AGUIRRE NEWMAN o deseara revocar su
consentimiento al tratamiento de sus datos, podrá hacerlo mediante un correo
desea ejercitar sus derechos de acceso, rectificación, cancelación y
oposición podrá hacerlo dirigiéndose por escrito al Departamento de Asesoría
Jurídica de Aguirre Newman, S.A., calle General Lacy número 23, C.P. 28045
Madrid, remitiendo, junto con la solicitud, una fotocopia de un documento
oficial de identificación (DNI, Pasaporte, etc).
____________________________________________________________________________
According to Spanish Data Protection Law 15/1999, we hereby inform that the
personal data used in this communication come from an automated data filed
owned by Aguirre Newman, S.A., which has been duly notified to the Spanish
Data Protection Agency, and whose purpose is managing (control, maintenance
and archiving) the relationship you hold with GRUPO AGUIRRE NEWMAN and its
communication with third parties. Such personal data has been included
within the referred data file for the uses and purposes above-mentioned and
may be transferred to other companies of the AGUIRRE NEWMAN Group, when
necessary for the compliance of the purposes above-mentioned. The companies
that form the AGUIRRE NEWMAN GROUP are listed in the legal notice of the
corporate web site www.aguirrenewman.es.
If you do not consent the use of you e-mail for sending electronic
communications, or transferring your personal data to the companies of the
AGUIRRE NEWMAN Group, or you want to revoke your consent, please send an
exercise your rights of access, rectification, cancellation and/or
opposition, please send a written request to the Legal Department of Aguirre
Newman, S.A. c/ General Lacy Nº 23, PO. BOX 28045 Madrid, attaching a
photocopy of an official identification document (DNI, Passport, etc).
_______________________________________________
Lista de distribución Ovillo
http://lists.ovillo.org/mailman/listinfo/ovillo
Andrés gutiérrez
2010-04-15 16:08:57 UTC
Permalink
A mi no se me ocurre una forma de solucionar este problema con ul/li. Se que
puede sonar mal pero los TD de las tablas si que se expanden y reparten
hasta el 100% de su padre. Es una idea.
Post by Rafa Artacho
El problema es el menú será dinámico por lo que en ocasiones pueden aparecer
6 elementos en el menú pero otras veces pueden aparecer 8, 10, 5...
Con JS se puede lo que quería saber es si se puede hacer únicamente con CSS.
Gracias!
Post by Carlos Acero Sánchez
100/6 = 16.6
#navbar ul li
{
float:left;
font-size:1.2em;
color:#00FF00;
padding:0 5px 0 10px;
border-right:1px solid #000;
text-align:right;
width:16.6%
}
Carlos Acero Sánchez
Dpto. Sistemas
Aguirre Newman Madrid
C/ General Lacy, 23. 28045 Madrid
T +31 91 319 13 14 F +34 91 319 87 57
www.aguirrenewman.com
Sé ecológico, antes de imprimir este e-mail piense bien si es necesario hacerlo
-----Mensaje original-----
Enviado el: jueves, 15 de abril de 2010 17:27
Para: Ovillo, la lista de CSS en castellano
Asunto: [Correo sospechoso] Re: [Ovillo] Ajustar lista al ancho del contenedor
#navbar{color:#FF0000;width:974px;}
#navbar ul{width:100%;}
#navbar ul li{float:left;font-size:1.2em;color:#00FF00;padding:0 5px 0
10px;border-right:1px solid #000;text-align:right;}
De este modo el ul queda extendido hasta el 100% del div #navbar, pero
los
Post by Carlos Acero Sánchez
li no se ajustan al 100% del ul. Si pongo 100% al li ocupa cada li el
100%
Post by Carlos Acero Sánchez
del div #navbar. ¿Dónde sería el error?
El style lo puse para ver visualmente hasta dónde se extendía el contenedor,
cuando termine las pruebas lo quitaría.
Gracias!
Post by Luis Mario Álvarez
100%;al tag que necesitas lo llene.
Te recomendaría además que quites esos estilos de tu ul y los metas en
algúna hoja css. No es necesario que le asignes clase o id, basta con #navbar
ul {overflow:hidden ;border:1px solid #000;}
Saludos!
Post by Rafa Artacho
Tengo un menú que será dinámico y que dependiendo de las necesidades
contendrá un número variable de elementos. Necesitaría que la lista
se
Post by Carlos Acero Sánchez
Post by Luis Mario Álvarez
Post by Rafa Artacho
adaptase al ancho del div contenedor (974px). El HTML del menú con 6
<div id="navbar">
<ul style="overflow:hidden;border:1px solid #000;">
<li>Inicio</li>
<li>Películas</li>
<li>Música</li>
<li>Teatro</li>
<li>Exposiciones</li>
<li>Coches</li>
</ul>
</div>
¿Sería posible hacer esto solamente con CSS o sería necesario usar
JS?
Post by Carlos Acero Sánchez
Post by Luis Mario Álvarez
Post by Rafa Artacho
_______________________________________________
Lista de distribución Ovillo
http://lists.ovillo.org/mailman/listinfo/ovillo
--
mario álvarez
desarrollador web
_______________________________________________
Lista de distribución Ovillo
http://lists.ovillo.org/mailman/listinfo/ovillo
_______________________________________________
Lista de distribución Ovillo
http://lists.ovillo.org/mailman/listinfo/ovillo
En cumplimiento de la Ley 15/1999, de 13 de diciembre, de Protección de
Datos de Carácter Personal, le informamos que los datos de carácter
personal
Post by Carlos Acero Sánchez
utilizados para la presente comunicación proceden de un fichero de datos
de
Post by Carlos Acero Sánchez
carácter personal titularidad de Aguirre Newman, S.A., debidamente
notificado ante la Agencia Española de Protección de Datos, cuya
finalidad
Post by Carlos Acero Sánchez
es la gestión (control, mantenimiento y archivo de la documentación) de
la
Post by Carlos Acero Sánchez
relación que mantiene con el GRUPO AGUIRRE NEWMAN y la comunicación con
terceros. Dichos datos, por consiguiente, han sido incorporados o serán
incorporados en dicho fichero para los usos y finalidades indicadas,
pudiendo ser objeto de comunicación a las Compañías que integran el GRUPO
AGUIRRE NEWMAN, cuya identidad podrá consultar en el aviso legal de la
página web corporativa www.aguirrenewman.es, cuando sea necesario y/o
pertinente para el cumplimiento de las finalidades señaladas.
Si Ud. no consintiese la utilización del correo electrónico para enviarle
comunicaciones electrónicas, la comunicación de sus datos de contacto al
resto de empresas del GRUPO AGUIRRE NEWMAN o deseara revocar su
consentimiento al tratamiento de sus datos, podrá hacerlo mediante un
correo
Ud.
Post by Carlos Acero Sánchez
desea ejercitar sus derechos de acceso, rectificación, cancelación y
oposición podrá hacerlo dirigiéndose por escrito al Departamento de
Asesoría
Post by Carlos Acero Sánchez
Jurídica de Aguirre Newman, S.A., calle General Lacy número 23, C.P.
28045
Post by Carlos Acero Sánchez
Madrid, remitiendo, junto con la solicitud, una fotocopia de un documento
oficial de identificación (DNI, Pasaporte, etc).
____________________________________________________________________________
Post by Carlos Acero Sánchez
According to Spanish Data Protection Law 15/1999, we hereby inform that
the
Post by Carlos Acero Sánchez
personal data used in this communication come from an automated data
filed
Post by Carlos Acero Sánchez
owned by Aguirre Newman, S.A., which has been duly notified to the
Spanish
Post by Carlos Acero Sánchez
Data Protection Agency, and whose purpose is managing (control,
maintenance
Post by Carlos Acero Sánchez
and archiving) the relationship you hold with GRUPO AGUIRRE NEWMAN and
its
Post by Carlos Acero Sánchez
communication with third parties. Such personal data has been included
within the referred data file for the uses and purposes above-mentioned
and
Post by Carlos Acero Sánchez
may be transferred to other companies of the AGUIRRE NEWMAN Group, when
necessary for the compliance of the purposes above-mentioned. The
companies
Post by Carlos Acero Sánchez
that form the AGUIRRE NEWMAN GROUP are listed in the legal notice of the
corporate web site www.aguirrenewman.es.
If you do not consent the use of you e-mail for sending electronic
communications, or transferring your personal data to the companies of
the
Post by Carlos Acero Sánchez
AGUIRRE NEWMAN Group, or you want to revoke your consent, please send an
exercise your rights of access, rectification, cancellation and/or
opposition, please send a written request to the Legal Department of
Aguirre
Post by Carlos Acero Sánchez
Newman, S.A. c/ General Lacy Nº 23, PO. BOX 28045 Madrid, attaching a
photocopy of an official identification document (DNI, Passport, etc).
_______________________________________________
Lista de distribución Ovillo
http://lists.ovillo.org/mailman/listinfo/ovillo
_______________________________________________
Lista de distribución Ovillo
http://lists.ovillo.org/mailman/listinfo/ovillo
Ramón Corominas
2010-04-19 11:29:25 UTC
Permalink
Aunque el menú sea dinámico, supongo que lo escribes sabiendo cuántas
opciones tienes, así que siempre puedes poner la mayor parte de los
estilos en la hoja externa y algunos sobreescribirlos con el atributo
style. Esto puede sonar a "feo" porque se separa peor el código HTML de
la presentación, pero es que para eso está precisamente el atributo
style (y de todos modos la separación está ahí, no hay más que
desactivar los estilos para ver que los style tampoco se aplican).

En la hoja de estilos pondrías todas las propiedades comunes, y en el
style el ancho calculado en función del número de opciones que hay:

<ul ...>
<li style="width: 16.6%!important;">..</li>
<li style="width: 16.6%!important;">..</li>
...
</ul>

Saludín,
Ramón.
Post by Rafa Artacho
El problema es el menú será dinámico por lo que en ocasiones
pueden aparecer 6 elementos en el menú pero otras veces pueden
aparecer 8, 10, 5...
Continúe leyendo en narkive:
Loading...