Ei ole olemassa monia artikkeleita, jotka kattavat yhteensopimattomuudet tai CSS-erot Firefoxissa yksin - ja hyvistä syistä.
Firefox on aina tehnyt erinomaisen hyvää työtä sekä CSS: n että JavaScriptin tukemiseksi standardien mukaisella tavalla ilman liian monta hankalia vikoja.
On kuitenkin olemassa muutamia CSS-ominaisuuksia ja valitsimia, joita ei ole tuettu yhdestä tai useammasta versiosta 3.0 julkaistusta versiosta.
Tämä artikkeli kattaa vikoja, epäjohdonmukaisuuksia ja ei tukea . Joten jos sinulla on ongelmia Firefoxin CSS-ominaisuuden tai valitsimen kanssa, eikä sitä ole lueteltu tässä, sinun on luultavasti harkittava uudelleen ulkoasua ja harkittava uudelleen mitä syyllinen voi olla.
Koska Firefox 2 on käytännössä olematon , En aio harkita tätä versiota erikseen, mutta nämä tiedot koskevat yleensä kyseistä versiota oletuksena.
Ja minun pitäisi huomata, että tämän viestin materiaali on otettu ensisijaisesti Äskettäin päivitetty SitePoint CSS-viittaus , joka on hands-down paras ja kattavin CSS-referenssi saatavilla missä tahansa.
Firefoxissa 3.x, kun elementti ylittää vanhempien rajan, jolla on outline
ominaisuusasetus, ääriviiva venyttää sopivan sisällön mukaan, kuten näytön kaappauksessa esitetään alla:
Oikea toteutus näkyy seuraavassa Chromesta otetusta näytön kaappauksesta:
Kuten yllä on osoitettu, ääriviivojen tulisi kattaa elementti, jota hahmotellaan, eikä mitään ylivuotoelementtejä tule vaikuttaa. Varmistaaksesi sekaannuksen, huomaa, että tämä on vika ohjelman toteutuksessa outline
omaisuutta, ei border
omaisuutta.
Viite: SitePoint CSS-viite: ääriviivat Omaisuus
Firefoxissa, kun taulukon reunat on asetettu collapse
käyttämällä border-collapse
ominaisuus, taulukon ylä- ja vasen marginaalit suhteessa läheisiin elementteihin on 1 pikseli pois. Tämä näkyy alla olevassa kuvassa zoomatussa kuvakaappauksessa, joka näyttää lohkotason elementin (punainen) alarivin koskettamalla sarakkeen taulukon yläreunaa (sininen):
Tässä on tämän ominaisuus- / arvoparin oikea toteutus, kuten Chrome näyttää:
Kuten edellä on esitetty, koska rajat ovat "romahtaneet" ja koska taulukko ei ole lohkoelementti, vasemmalla reunalla olisi oltava hieman poikkeama, ja ylimmän marginaalin pitäisi olla edes sen yläpuolella olevan elementin alapäässä.
Viite: SitePoint CSS Reference: border-collapse Ominaisuus
Tämä on ominaisuusarvo, jota jokin selaimesi ei tue oikein, kuten Firefox. Kun taulukkorivillä ei ole näkyvää sisältöä ja kaikki solut ovat niiden empty-cells
ominaisuus asetettu hide
, koko rivi tulee käyttäytyä, jos se asetettaisiin "display: none", ilman rajoja tai taustoja näkyvissä.
Selaimella ei käsitellä tätä oikein, joten taulukkorivi on edelleen näkyvissä, kuten alla olevassa kuvassa näkyy.
Viite: SitePoint CSS-viite: tyhjä-solujen ominaisuus
Firefox 3.x: ssa negatiivinen arvo word-spacing
omaisuutta käsitellään nollina vierekkäisillä inline-elementeillä. Negatiivisen arvon pitäisi aiheuttaa inline-elementit päällekkäin toistensa kanssa, kuten tekstit olisi, mutta tämä ei tapahdu. Sen sijaan elementtejä annetaan vain nollan valkoisen tilan erotukselle ilman päällekkäisyyksiä.
Alla oleva kuva näyttää sekä oikeat että virheelliset toteutukset:
Edellä esitetyissä esimerkeissä kolme sanaa "Hedelmät", "Vihannekset" ja "Muut elintarvikkeet" on kääritty yksittäin elementtejä, kun taas kappale, joka heittää ne, on sen
word-spacing
ominaisuus asetetaan negatiiviseksi arvoksi.
Toinen esimerkki (Firefox) ei käytä negatiivista sanaa, paitsi kahden viimeisen sanan välillä, koska kyseisiä sanoja ei ole kääritty yksittäin, vaan ovat luonnollisia tekstejä.
Sivupisteenä tämä virhe esiintyy samalla tavoin IE8: ssa, mutta ei aikaisemmissa IE-versioissa.
Viite: SitePoint CSS-viite: sanavarastoominaisuus
Kun elementillä on teksti-decoration-arvo, tämä arvo ei saa periä kelluvia jälkeläisiä. Firefox 3.x: ssä kelluville jälkeläisille annetaan samat tekstin koristeluarvot kuin heidän vanhempansa, vaikka näin ei olisi.
Yllä olevassa kuvassa ensimmäinen rivi on kuvakaappaus IE8: sta, jossa on a elementti leijui ankkurin sisällä. Tekstin sisällä
ei ole näkyvää tekstin koristelua, mikä on oikea tapa näyttää se. Firefoxissa (toisessa esimerkissä) teksti-decoration on virheellisesti sovellettu kelluvaan
.
Olet ehkä huomannut tämän virheen Firefoxissa, kun yrität poistaa tekstikorin leikattujen kuvien sisältämistä ankkureista.
Viite: SitePoint CSS-viite: tekstin koristeluominaisuus
Käyttämällä white-space
ominaisuus Firefox 3.5: ssa, voit määrittää, onko useita tilaa merkkejä laskettava yhdelle tai useammalle tilalle. Oletusarvoisesti HTML-dokumentit romahtavat useita tiloja yhdelle tilalle. Joissakin tapauksissa voit hakea white-space: pre
jotta vältytään tyhjältä tilaa romahtavalta, joka on samanlainen kuin HTML-tunniste. Tämän jälkeen voit poistaa tämän asetuksen käyttämällä
white-space: pre-line
(tyhjän tilan tyhjentäminen).
Firefox 3.0 ei tue tätä arvoa, joten valkoinen tila säilyy. Firefox 3.5 sulkee tilan oikein. Alla oleva kuva esittää molemmat esimerkit:
Samoin, kun tekstin kohta on asetettu white-space: pre-wrap
, tämän pitäisi säilyttää valkoiset välilyönnät sanojen välillä, mutta luonnollisesti olisi myös rivejä. Firefox 3.0 ei toteuta tätä oikein, kun taas myöhemmät versiot (ja kaikki muut selaimet) sisältävät luonnolliset rivit. Molemmat esimerkit on esitetty alla.
Muista, että ulkoinen elementti on annettu white-space: pre
kun taas sisempi yrittää ohittaa viivatahtien puutteen käyttämällä
pre-wrap
. Omillaan, pre-wrap
ei olisi mitään vaikutusta.
Firefox 3.x käsittelee myös joitain white-space
arvot eri tavoin kuin muut selaimet, kun näitä arvoja sovelletaan elementti. Esimerkiksi hakeminen
white-space: nowrap
pitäisi aiheuttaa kaiken kirjoitetun tekstin a muodostamaan yhden rivin, mutta Firefox 3.x ei tee tätä.
Viite: SitePoint CSS Reference: white-space -ominaisuus
CSS: n avulla kehittäjät voivat määrittää, millä sivujesi on tai ei pitäisi tapahtua kolmen ominaisuuden avulla page-break-before
, page-break-inside
, ja page-break-after
. Opera on ainoa selain, joka tukee täysin näitä ominaisuuksia, kun taas muut selaimet tarjoavat osittaista tukea tai tukea.
page-break-inside
property specifies whether or not a page break can occur inside a single block-level element. ominaisuus määrittää, voidaanko sivun katkeaminen esiintyä yksittäisen lohkotason elementin sisällä. Firefox ei tue tätä ominaisuutta. Syntaksin käyttäminen page-break-inside: avoid
, voit estää elementin jakamisen tulostuksen aikana. Alla oleva kuva Opera 10: n esikatselusta näyttää, miten tämä ominaisuus voi estää järjestämättömän luettelon jakamisen kahdelle sivulle:
Katso sen sijaan alla oleva kuva, joka otetaan Firefox 3.5: n esikatseluasetuksesta:
Viite: SitePoint CSS -viite: Paged Media Properties
orphans
and ja widows
CSS-ominaisuuksia tuetaan vain Internet Explorer 8: ssa ja Opera-versiossa 9 lähtien. Tätä ominaisuutta käytetään määrittämään yksittäisen kappaleen rivien vähimmäismäärä, joka voi esiintyä tulostetulla sivulla joko alhaalla (orpoilla) tai ylhäällä ). Valitusta numerosta riippuen rivejä siirretään yhdestä sivusta seuraavaan (tai edelliseen), jotta yksi rivi ei tulostu sivun ylä- tai alaosaan.
Jopa kanssa orphans
ominaisuus asetettu arvoon "3", kuten alla olevassa kuvassa näkyy, Firefoxin esikatselussa näkyy yksi rivi jonkin tulostettavan sivun alareunassa:
Samanlainen kuin page-break-inside
ominaisuus, Firefox ei myöskään tue arvoja avoid
, left
, ja right
sekä page-break-before
ja page-break-after
ominaisuudet.
Viitteet: SitePoint CSS-viite: orpojen omaisuus | SitePoint CSS -viite: leskiä Ominaisuus
Internet Explorer 8, Chrome ja Safari toteuttavat tämän ominaisuuden oikein estämällä lohkoelementtien pesiytymisen rikkomasta muotoilua, kuten alla olevassa kuvassa näkyy: Edellä olevassa kappaleessa teksti on sisällä a Viite: SitePoint CSS-viite: ensimmäisen rivin pseudo-elementti Firefox on vähitellen lisännyt parempaa tukea CSS3: lle versio 3.0: n julkaisun jälkeen. Alla on kuvaus siitä, miten Firefox käsittelee CSS3: n eri ominaisuuksia. Jotkut näistä voivat silti olla työskentelyluonnos tai ehdokasohje vaiheessa, emmekä voi olla dogmaattinen siitä, mitä pitäisi ja jota ei pitäisi tukea, ennen kuin he ovat päässeet suositus vaiheessa. Joitakin merkittävämpiä vikoja ja yhteensopimattomuuksia käsiteltiin edellä, mutta muutamia muita on syytä mainita. Tämän materiaalin läpi voit selkeästi nähdä, että Firefoxin CSS-ominaisuuksien puute on vähäistä ja monissa tapauksissa melko merkityksetön, koska monet tässä käsitellyistä ominaisuuksista eivät ole kovin yleisesti käytössä. Toivon kuitenkin, että tämä tarjoaa hyvän ohjeen Firefoxin merkittävimpiin vikoihin ja epäjohdonmukaisuuksiin. Jos sinulla on ongelmia tietyn CSS-ominaisuuden kanssa Firefoxissa, jota ei ole tässä luettelossa, on mahdollista, että teet jotain vikaa tai et välttämättä ymmärrä täysin tiettyjä CSS-konsepteja ja periaatteita. Joten tässä suhteessa tämän viittauksen pitäisi toimia hyvin käänteissuosituksina , koska niitä, joita ei ole lueteltu tässä, voidaan luottaa toimimaan hyvin, jos ne toteutetaan oikein oikealla syntaksilla. Tietenkin, jos jotain mitä olen unohtanut tai virheitä, ole hyvä ja kommentoi, ja teen parhaani tekemään tarvittavat korjaukset ja lisäykset. Tämä viesti kirjoitettiin yksinomaan Webdesigner Depotille, freelance-kirjailija ja web-kehittäjä Louis Lazaris. Louis juoksee Vaikuttavat webs jossa hän lähettää artikkeleita ja tutoriaaleja web-suunnittelussa. Voit seurata Louisia Twitterissä tai ota yhteyttä häneen hänen verkkosivuillaan . :first-line
pseudo-element allows the first line of any given text block to have different formatting from the rest of the text. pseudo-elementti mahdollistaa minkä tahansa tekstilohkon ensimmäisen rivin erilaisen muotoilun muusta tekstistä. Esimerkiksi tekstin kohdan ensimmäinen rivi voidaan vaihtaa isoksi tai eri väreiksi. Jotta tämä CSS-elementti toimisi käytännöllisesti, sen pitäisi mahdollistaa sisäkkäisten lohkotason elementtien mahdollisuus. Esimerkiksi a elementin pitäisi sallia
:first-line
pseudo-elementti muuttaa tekstin ensimmäisen rivin muotoilua elementti, joka sijaitsee a: n sisällä
has the on
:first-line
pseudo-elementti asetettu color: blue
, joka epäonnistuu Firefoxissa, koska kappaleen pesu on CSS3-tuki Firefox 3.x: ssä
text-shadow
omaisuus box-shadow
omaisuutta, paitsi jos käytetään etuoikeutta -moz-
box-sizing
omaisuutta, paitsi jos käytetään etuoikeutta -moz-
-moz-
käytetään border-image
mutta 3.5 tukee sitä käyttämällä -moz-
oma etuliite Muut CSS-ominaisuudet eivät ole tuettuja
run-in
varten display
omaisuus ::selection
pseudo-elementti johtopäätös
Muita viitteitä