A continuación, me gustaría modificar el CSS de modo que el right-sibling
es realmente centrado en el container
div. (Editar: sin usar el posicionamiento absoluto).Centro uno de los dos divs hermanos
<html>
<head>
<style type='text/css'>
#container {
width: 500px;
}
#left-sibling {
float: left;
}
#right-sibling {
text-align: center;
}
</style>
</head>
<body>
<div id='container'>
<div id='left-sibling'>Spam</div>
<div id='right-sibling'>Eggs</div>
</div>
</body>
</html>
En su implementación actual, el centrado del hermano derecha se ve afectado por el hermano izquierda - se puede ver esto añadiendo display: none
al estilo de la left-sibling
's.
(Nota: me gustaría evitar modificar la estructura HTML porque, según tengo entendido, el objetivo de CSS es separar la estructura de etiquetas de la lógica de presentación, y esto no parece una locura solicitud de CSS para manejar.)
TIA.
¿Hay alguna razón para no usar el posicionamiento absoluto ya que eso hará que haga exactamente lo que usted quiere? –
Este es un ejemplo de prueba: en la página * real * en la que estoy trabajando, está anidado muy lejos en la página y tiene que estar relativamente posicionado dentro del contenido generado automáticamente. El posicionamiento absoluto solo funciona para elementos como encabezados que no se ven afectados por un flujo desconocido. – cdleary
Puede usar el posicionamiento relativo dentro de #container. También ese tipo de información es importante si quieres una respuesta decente. –