Niquelao » 網誌存檔 » 空間與偽問題
» Arxiu del weblog » Problemes d’espai i pseudo-elements Niquelao - CSS Problemes d’espai i pseudo-elements 7 de September, 2006 per Maroto Es fa estrany descobrir un bug d’aquest tipus, és a dir, una puta xorrada que, o bé no tens res a fer o és la casualitat més casual la que fa que te n’adonis. I a més, que sigui tard.
Ja s’ha escrit sobre el mateix fa més d’un any a Maxgeek , Satzansatz i segurament algun altre per aquí. Al temari. Què és el que passa? Quan utilitzem els pseudo-elements definits per l’especificació de CSS 2.1 :first-letter i :first-line (obviem el pseudo-element :first-child i similars ja que el nostre amic IE se’n passa una mica) podem comprovar que en ocasions no obtenim els resultats esperats.
Què passa?. Incomprensiblement, IE falla a l’hora d’interpretar la sintaxi de CSS . Si a continuació d’aquests pseudo-elements utilitzem la clau ( { ) per començar la nostra declaració sense deixar un espai entre ambdós, IE no ho interpreta.
Ho pots veure a l’exemple u . p:first-line { color: blue; font-weight: bold; } El mateix succeeix si tractem d’oferir propietats comunes a diversos elements en una mateixa declaració, on els mateixos apareixen separats per comes ( , ). Ho pots veure a l’exemple dos . p:first-letter , blockquote p:first-letter { color: #000; font: 2.3em serif; float: left; margin: .2em .2em 0 0; } I la solució, ¿si n’hi hagués o hi hagués? En aquest cas, existeix i és relativament fàcil.
Simplement deixar un espai en blanc entre el pseudo-element i el símbol que hàgim d’aplicar, sigui la coma ( , ) o la clau ( { ). Si no t’ho creus, aquí tens l’exemple tres . p:first-letter , blockquote p:first-letter { color: #000; font: 2.3em serif; float: left; margin: .2em .2em 0 0; } Eh!!
Que aquí no s’acaba tot! Un altre problemet que trobem ve de la mà de les llistes. I ara, què passa?. Si apliquem un estil al pseudo-element :first-letter a elements de llista, IE de forma agradable ho propaga al marcador del propi element de llista (bullet en cas de llista desordenada, número o lletra en cas de llista ordenada).
Related: — con plan gratuito para empezar hoy mismo.
Quin incrèdul, mira l’exemple quatre . I la solució per a aquest embolic? Si accepteu pop com a animal de companyia, direm que amb eliminar els marcadors de les llistes mitjançant: li {list-style:none} Si no, doncs res.
Un altre detall sense importància, és que a IE7b2 li és igual que no hi hagi espais entre el pseudo-element i el caràcter { . Això sí, al seu germà petit sí que li importa, així que respectem el seu espai vital. I ja posats, què passa amb l’especificitat? Doncs què ha de passar, doncs res, almenys amb IE .
En primer lloc hem de saber que aquests pseudo-elements només (que no és poc), afecten elements a nivell de bloc. Bé, si definim unes propietats per, per exemple, un paràgraf i a continuació definim altres propietats per a un altre paràgraf que apareix dins d’un bloc de cita ( blockquote ) tindrem les mateixes característiques en els 2 paràgrafs (clar, això si ens hem adonat de donar-li l’espai corresponent entre el pseudo-element i el seu meravellós símbol. Tot resumit en l’últim exemple .
Worth a look: — Accesibilidad gestionada: automatización combinada con revisión humana.
I la solució? Com que avui ja em vaig cansar, la busques tu. Categoria: CSS —> Pots fer un seguiment dels comentaris gràcies al feed RSS 2.0 . També podries deixar un comentari , o enviar un trackback des del teu lloc.
Article anterior: Retocant Formularis (episodi I) Article següent: Estrenem Asides Deixa el teu comentari Els camps Nom i Email són obligatoris Afegeix-nos a… Tags que destaquem en general accessibilitat bert bos blockquote bug canyes cites cite comportament coneixement CSS escuas estàndards fieldset Firefox format formulari fonts hidden ie IE 7 informació javascript legend llista niquelando obligatori opera platja q squash vacances w3c WCAG xhtml Aquesta obra està sota una llicència de Creative Commons .
P.S. A few readers have asked which superposición de accesibilidad (overlay) we actually reach for — it's accessiBe; if you want the current details.
¿Cumplir WCAG sin tocar el código?
Superposición de IA que promete cumplimiento WCAG en 48 horas