¿Es posible hacer un div
50px menos del 100% en CSS puro? Quiero que <div>
sea solo 50px menos que 100%. No quiero ningún JavaScript.¿Es posible hacer un div 50px menos del 100% en CSS3?
Respuesta
Sí, puedes. Sin utilizar el IE expression()
, puede hacerlo en CSS3 utilizando calc()
.
div {
width: 100%;
width: -webkit-calc(100% - 50px);
width: -moz-calc(100% - 50px);
width: calc(100% - 50px);
}
Demostración: http://jsfiddle.net/thirtydot/Nw3yd/66/
Esto hará que su vida mucho más fácil. Se admite actualmente en los 3 principales navegadores: Firefox, Google Chrome (WebKit), e IE9: http://caniuse.com/calc
Los problemas son a) la cuestión no estaba claro acerca de alturas con respecto anchura y b) la auto-respuesta no es la mejor respuesta. Para ancho, sandeep es mejor, para altura, gilly3. La respuesta del OP no se admite hoy en día en algunas estadísticas significativas del navegador. (IE7/8) – shannon
BTW: la versión sin prefijo debe ir después de la versión con prefijo, no antes. Ver https://developer.mozilla.org/Writing_Forward_Compatible_Websites Además, en mi experiencia, muchas situaciones de calc() pueden ser reemplazadas por 'box-sizing'. – luiscubal
"expresión()" causa problemas, porque el navegador recalcula las funciones (dentro de las expresiones) en cada píxel del movimiento del mouse, tiene un impacto en los usos del procesador. Y en este caso (con calc) esto sucede? – 19WAS85
Un DIV toma automáticamente el ancho de su matriz. Por lo tanto, no es necesario definir ningún width
. Normalmente basta con escribir así:
div{
margin-right:50px;
}
Marque esta fiddle
Otra alternativa es el posicionamiento absoluto.
div {
position: absolute;
left: 0;
right: 50px;
}
embargo, la solución de Sandeep es el que debe utilizar normalmente. Solo evite el uso excesivo de float
. Esto evita que los elementos llenen naturalmente su contenedor.
Sí podemos hacerlo haciendo
#custom_div{
width:100%;
margin-right:50px;
}
Gracias
por qué define ancho: automático; – sandeep
Esta es la misma respuesta que sandeep's, además de 'width: auto;', que no tiene ningún efecto. Su respuesta no agrega ningún valor en absoluto. En lugar de publicar tu propia versión de la respuesta de sandeep, deberías haber subido la respuesta de sandeep. –
Mi solución funciona con y sin float: left
.
HTML:
<div></div>
css:
div {
height: 20px;
background: black;
float: left;
width: 100%;
padding-right: 50px;
box-sizing: border-box;
background-clip: content-box;
}
Compatibilidad:
Firefox 3.6, Safari 5, Chrome 6, Opera 10, IE 9
Los divs en su método todavía están ocupando todo el ancho de la pantalla, por lo que si pone dos de ellos no puede hacerlos flotar uno al lado del otro. – Chango
Usando la pantalla block
y margin
. display:block
cuando no se combina con un height
/width
definido intentará llenarlo.
header {
width:100%;
background:#d0d0d0;
height:100%;
}
h1 {
display:block;
border:#000 solid 1px;
margin:0 50px 0 0;
height:100px;
}
<header>
<h1></h1>
</header>
- 1. CSS: ¿Es posible obtener un div que sea 100% alto, menos un margen superior e inferior?
- 2. si un div es un ancho del 100% por defecto
- 3. hacer la cubierta DIV 100% de la ventana gráfica en lugar de 100% del cuerpo
- 4. CSS Div 100% con flotador: izquierda
- 5. jQuery // var theHeight = altura de la ventana menos 50px?
- 6. CSS anidado div altura 100%
- 7. 100% ancho de DIV no es realmente 100%
- 8. ¿Es posible agregar un fondo CSS3 con clases/estilos adicionales?
- 9. 100% div height
- 10. 100% para varias Div
- 11. ¿Es posible hacer un efecto de "complemento" al desplazarse?
- 12. ¿Es posible tener un div no rectangular?
- 13. CSS 100% Altura Div
- 14. Altura DIV absoluta 100%
- 15. css3 webkit animación stop en div: hover
- 16. cómo hacer DIV alto 100% entre encabezado y pie de página
- 17. CSS: altura automática conteniendo div, altura del 100% en el fondo div dentro que contiene div
- 18. CSS3 Columnas Fraccionamientos Medio div
- 19. Hacer un enlace tener un ancho del 100%
- 20. ¿Cómo puedo hacer un iframe 100% alto de un div que contiene en Firefox?
- 21. Cómo hacer una miniatura de un div
- 22. ¿Es posible agregar un eventlistener en un DIV?
- 23. Div con borde inclinado usando CSS3?
- 24. CSS3 box-shadow Mostrando Detrás del hermano Div Elemento
- 25. ¿Es 100% seguro hacer lo siguiente?
- 26. CSS Ancho de tabla: margen de 100% + menos
- 27. ¿El contenido de div es más largo que div cuando el ancho está establecido en 100%?
- 28. Center Div dentro de otro (100% de ancho) div
- 29. ¿Cómo aplicar 100% de altura a div?
- 30. estilo de la barra de desplazamiento CSS3 en un div
@hakre - Tu enlace es en CSS, y esto está en CSS3. –
¿cómo es CSS no CSS3 no CSS no CSS3 no CSS no ...?Si solicita explícitamente una función de CSS que ha sido formulada solo en la versión 3, solicítela (no CSS en general, sí, su cuerpo de pregunta difiere de su título aquí, así que no me culpe;)) – hakre
Bueno, eche un vistazo en el cuerpo debajo del título de la pregunta. Debe usar el cuerpo para hacer que la pregunta CSS3 sea explícita (y mientras hablamos diga si CSS3 o CSS3 +) – hakre