2012-08-28 15 views
5

estoy tratando de hacer un estilo blockquote donde la apertura y cierre cotizaciones son más grandes que el texto pero aún caben en su línea, algo como esto example http://s17.postimage.org/ypvv8xxtb/blockquote.pngcotizaciones BlockQuote estilo

este es el código que tengo http://jsfiddle.net/EnL3R/2/

la cita abierta muestra encima del texto, y tanto las comillas abiertas como las de cierre le ponen algunos márgenes, me doy cuenta de que es porque el personaje en la fuente tiene este espacio en blanco, ¿hay alguna manera de compensar esto?

+0

¿Cuál es el problema? – woz

+0

He editado la publicación, espero que esté claro ahora –

+2

Pseudo-elementos: antes &: después parece ser un mejor enfoque: http://jsfiddle.net/EnL3R/12/ – LeBen

Respuesta

4

Modified padding, margin, display y position atributos y ahora se parecen a abrir bien:

blockquote span { 
    font-size:100px; 
    color:black; 
    position: relative; 
    display:inline-block; 
    padding:0px; 
} 

blockquote span.primo { 
    margin: -40px 0 -100px 0; 
    bottom: -40px; 
} 

blockquote span.ultimo { 
    margin:-130px 0 0 0; 
    bottom:0px; 
} 

/* IE7 only styles */ 
blockquote span { 
    *display: inline; zoom: 1; /* IE7 fix for inline-block */ 
} 
blockquote span.primo { 
    *margin: -20px; *bottom: -20px; /* IE7 position adjustment */ 
} 
blockquote span.ultimo { 
    *margin: -50px; /* IE7 position adjustment */ 
} 

http://jsfiddle.net/EnL3R/26/ (que borde amarillo alrededor de la etiqueta span es sólo para pruebas)

+0

+1 - esta solución parece la más fácil sin jugar con images + works incluso en navegadores más antiguos – Danield

3

Me parece que podría ser mejor usar imágenes. Si intenta utilizar texto para las comillas, se encontrará con el hecho de que la comilla misma es solo una pequeña parte de la altura de la línea.

Puede simplemente poner las imágenes en su contenido y usar vertical-align para obtener la posición correcta. Si no necesita soporte para IE 7 o posterior, incluso puede ponerlos en el CSS, en los pseudo-elementos :before y :after.

blockquote :first-child:before { 
    content: url('images/openquote.png'); 
    } 

blockquote :last-child:after { 
    content: url('images/closequote.png'); 
    vertical-align: -35px; /* tuned to fit image */ 
} 

Demostración: http://jsfiddle.net/EnL3R/17/

+0

Si está usando pseudoelementos para mostrar las comillas, no hay razón para usar imágenes en lugar de texto. Puede colocar los pseudo elementos de la forma que desee. Eso también reduciría las solicitudes de http. O al menos, use un sprite css. – Gidgidonihah

+0

Verdadero - Supongo que simplemente no me gusta ajustar los márgenes negativos para luchar contra el espacio en blanco adicional, solo por el bien de usar las comillas de la fuente directamente. Parece que buscas un efecto visual muy específico, y las imágenes parecen conceptualmente más adecuadas para eso que usar CSS para extraer y renderizar dos glifos individuales de tu fuente de una manera que está claramente separada del texto circundante. – cloudfeet

+0

El punto sobre las solicitudes HTTP es bueno: si le preocupa, puede usar los URI 'data:' para obtener todo en una sola solicitud, ya que las imágenes serán bastante pequeñas. – cloudfeet

0

actualizar el estilo de blockquote, consulte más abajo .. código para ello.

blockquote { 
    font-size: 18px; 
    padding:20px; 
    text-transform: uppercase; 
} 
blockquote:before { 
    top: 10px; 
    left: 20px; 
    content: "\201C"; 
} 
blockquote:after { 
    top:80px; 
    content: "\201D"; 
} 
blockquote:before, blockquote:after { 
    position: absolute; 
    width: 60px; 
    height: 60px; 
    font-size: 80px; 
    line-height: 1; 
    color: #dd7975; 
} 

cheque this link Para un mayor entendimiento .....

Cuestiones relacionadas