Estoy implementando la paginación, y debe centrarse. El problema es que los enlaces deben mostrarse como bloque, por lo que deben flotarse. Pero entonces, text-align: center;
no funciona en ellos. Podría lograrlo dando el relleno de división de envoltura de la izquierda, pero cada página tendrá un número diferente de páginas, por lo que eso no funcionaría. Aquí está mi código:
.pagination {
text-align: center;
}
.pagination a {
display: block;
width: 30px;
height: 30px;
float: left;
margin-left: 3px;
background: url(/images/structure/pagination-button.png);
}
.pagination a.last {
width: 90px;
background: url(/images/structure/pagination-button-last.png);
}
.pagination a.first {
width: 60px;
background: url(/images/structure/pagination-button-first.png);
}
<div class='pagination'>
<a class='first' href='#'>First</a>
<a href='#'>1</a>
<a href='#'>2</a>
<a href='#'>3</a>
<a class='last' href='#'>Last</a>
</div>
<!-- end: .pagination -->
Para tener la idea, lo que quiero:
Respuestas:
Eliminar
float
y usar sinline-block
puede solucionar sus problemas:(elimine las líneas que comienzan con
-
y agregue las líneas que comienzan con+
).Mostrar fragmento de código
inline-block
funciona en varios navegadores, incluso en IE6, siempre que el elemento sea originalmente un elemento en línea.Cita de quirksmode :
Esto a menudo puede reemplazar efectivamente los flotadores:
De la especificación W3C :
fuente
Dado que muchos años utilizo un viejo truco que aprendí en algún blog, lo siento, no recuerdo el nombre para darle créditos.
De todos modos, para centrar elementos flotantes, esto debería funcionar:
Necesitas una estructura como esta:
El truco consiste en dejar flotar a la izquierda para hacer que los contenedores cambien el ancho dependiendo del contenido. Que es una cuestión de posición: relativa y dejó 50% y -50% en los dos contenedores.
Lo bueno es que este es un navegador cruzado y debería funcionar desde IE7 +.
fuente
margin: 0 auto;
hace un mejor trabajo en este casofloat: left;
no fue necesario en.main-container
y.fixer-container
.overflow: hidden;
Centrar las carrozas es fácil . Solo use el estilo para contenedor:
cambiar el margen para elementos flotantes:
o
y deja el resto como está.
Es la mejor solución para mí para mostrar elementos como menús o paginación.
Fortalezas:
navegador cruzado para cualquier elemento (bloques, elementos de lista, etc.)
sencillez
Debilidades:
@ arnaud576875 El uso de elementos de bloque en línea funcionará muy bien (navegador cruzado) en este caso ya que la paginación contiene solo anclas (en línea), sin elementos de lista o divs:
Fortalezas:
Debilidades:
espacios entre elementos de bloque en línea : funciona de la misma manera que un espacio entre palabras. Puede causar algunos problemas al calcular el ancho del contenedor y los márgenes de estilo. El ancho de los huecos no es constante, pero es específico del navegador (4-5px). Para deshacerme de estas brechas, agregaría al código arnaud576875 (no completamente probado):
.pagination {espaciado de palabras: -1em; }
.pagination a {espaciado de palabras: .1em; }
no funcionará en IE6 / 7 en elementos de bloque y elementos de lista
fuente
Establecer su contenedor de
width
enpx
y añadir:Referencia .
fuente
Usando Flex
fuente
Creo que la mejor manera es usar en
margin
lugar dedisplay
.Es decir:
Verifique el resultado y el código:
http://cssdeck.com/labs/d9d6ydif
fuente
fuente
IE7 no lo sabe
inline-block
. Debes agregar:fuente
Agregue esto a su estilo
* Si el ancho de su contenedor es de 50 px, ponga 25 px, si es de 10 em ponga 5 em.
fuente
También puede hacerlo cambiando
.pagination
reemplazando "text-align: center" con dos o tres líneas de css para izquierda, transformación y, según las circunstancias, posición.fuente
paso 1
crea dos o más divs que quieras y dales un ancho definido como 100px para cada uno, luego flota a la izquierda o derecha
paso 2
luego deformar estos dos div en otro div y darle el ancho de 200px. a este div se aplica el margen automático. boom funciona bastante bien. Verifique el ejemplo anterior.
fuente
Solo agregando
en mi menú css de
hizo el truco de centrado también
fuente