Tengo un div
con algunos niños:
<div class="content">
<h1>heading 1</h1>
<h2>heading 2</h2>
<p>Some more or less text</p>
<a href="/" class="button">Click me</a>
</div>
y quiero el siguiente diseño:
-------------------
|heading 1 |
|heading 2 |
|paragraph text |
|can have many |
|rows |
| |
| |
| |
|link-button |
-------------------
Independientemente de cuánto texto hay en el p
, quiero pegar .button
siempre en la parte inferior sin sacarlo del flujo. He oído que esto se puede lograr con Flexbox, pero no puedo hacer que funcione.
postition: absolute; bottom 0;
?position:relative
: es una tontería porque creo que es relativo por defecto, pero lo ha SET para que se contenga el posicionamiento absoluto del niño. Luegobottom:0
quedará al ras.static
no lo esrelative
.Respuestas:
Puedes usar márgenes automáticos
Entonces puede usar uno de estos (o ambos):
Mostrar fragmento de código
Alternativamente, puede hacer el elemento antes del
a
crecimiento para llenar el espacio disponible:Mostrar fragmento de código
fuente
html { height: 100%; } body { min-height: 100%; display: flex; flex-direction: column; } #site-content { flex: 1; }
height: 100%
el elemento principal con el que está tratando de empujar algo hacia abajomargin-top: auto;
Puede usar display: flex para colocar un elemento en la parte inferior, pero no creo que quiera usar flex en este caso, ya que afectará a todos sus elementos.
Para colocar un elemento en la parte inferior usando flex intente esto:
Su mejor opción es establecer la posición: absoluta para el botón y establecerla
bottom: 0
, o puede colocar el botón fuera del contenedor y usar negativotransform: translateY(-100%)
para traerlo al contenedor de esta manera:Comprueba este JSFiddle
fuente
La solución con
align-self: flex-end;
no funcionó para mí, pero esta sí lo hizo en caso de que quiera usar flex:Resultado
Código
Nota: Al "ejecutar el fragmento de código", debe desplazarse hacia abajo para ver el enlace en la parte inferior.
fuente
No estoy seguro acerca de flexbox, pero puede hacerlo usando la propiedad de posición.
establece
div
position: relative
el elemento primario y secundario que puede ser un<p>
o<h1>
etc. estableceposition: absolute
ybottom: 0
.Ejemplo:
index.html
style.css
Código de pluma aquí.
fuente
position:fixed
no funcionaría porque entonces no sería relativo al contenedor en el que se encuentra. ¿Quizás quiso decirposition:absolute
?Demostración: https://codepen.io/ferittuncer/pen/YzygpWX
fuente
Al configurar su pantalla para que se flexione , simplemente puede usar la
flex
propiedad para marcar qué contenido puede crecer y qué contenido no.Propiedad Flex
fuente
Prueba esto
fuente
Acabo de encontrar una solución para esto.
para aquellos que no están satisfechos con las respuestas dadas, pueden probar este enfoque con flexbox
CSS
HTML
fuente