2009 27 iulie 2009

Agent Style Sheets utilizator: Marjele mister în Google Chrome

Ieri, ca orice alt "Ziua Hog solului", am fost de lucru pe anumite aspecte CSS / tableless. Totul mergea bine în IE 7, 3 FF şi Chrome, pana deodată, am văzut nişte marje ne-neglijabile văzut numai în Google Chrome. Deşi foarte ciudat şi worring, a fost un aspect nou bug / că am venit din toata, nu a fost în cele din urmă un condiment în munca mea lumesc. Sad (dar frumos), aceasta s-au stabilit în termen de câteva minute de sonda ...

Practic, se arata ca Google Chrome a ignorat meu CSS Resetează (margin: 0px). Este de fapt a fost cauzat de stil agentul utilizator (-WebKit-padding-start: 40px). Deci, soluţia a fost de a reseta acest stil de stabilirea padding: 0 elementele incorect.
O modalitate buna de a preveni această problemă de la întâmplă la orice element este folosi un globală odihna CSS, după cum urmează

* {Margin: 0; padding: 0;}

Ce este agentul Style Sheets utilizator (specificaţie)?
Următorul fragment este luat din http://meiert.com/en/blog/20070922/user-agent-style-sheets/ link-ul, urmaţi pentru a citi mai multe despre foile de stil User Agent

CSS 1 introduce ideea de afirmând că fiecare agent utilizator (UA, de multe ori un "browser web" sau "web client"), va avea o foaie de stil implicit, care prezintă documente în mod rezonabil - dar probabil lumesc - mod. CSS 2 spune că agenţii în conformitate utilizator trebuie să se aplice o foaie de stil implicit (sau să se comporte ca şi cum au făcut), şi că foaia de un agent utilizator stilul implicit ar trebui să prezinte elemente ale limbii documentului într-un mod care să satisfacă aşteptările generale de prezentare pentru limba documentului; CSS 3 este probabil să fie de aceeaşi minte.

Întrucât specificaţiile CSS-l lase până la implementarea dacă se utilizează un "real" foaie de stil pentru afişare implicit sau nu, nu este uimitor faptul că nu aţi găsit o foaie de stil implicit în folderul de instalare fiecare browser-ului. Spre deosebire de Internet Explorer de la Microsoft, precum Opera, de exemplu (şi în măsura în care ştiu), browsere, precum Firefox Gecko şi Netscape Navigator (căutaţi "html.css"), dar, de asemenea, Konqueror face destul de simplu pentru a înţelege stilul lor implicite.


2008 02 august 2008

Setarea DOCTYPE în XSL

Saptamana trecuta am creat o progresivă HTML / CSS layout-ul pentru un client, am testat-o ​​în IE6, IE7 si FF 3, părea perfect bine ... până când! aspect a mers mai departe în jos ciclu manufacting. Acesta nu a reuşit. Elemente de aspect de pagină, doar a plecat peste tot loc atunci când structura HTML a fost transformată în XSL si XML aplicate pentru a se ... Bummer!

Nu a putut dormi bine peste week-end, în anticiparea de luni dimineaţă, atunci când voi avea pentru a remedia această SH **. Dar, având acum o Experienta puţin în a face cu aceste tipuri de situaţii (quirks Browser, vreau să spun), am stiut ca a avut de a face cu nimic altceva, dar DOCTYPE .... şi a fost ...

Problemă:
Vrei controlul asupra DOCTYPE, deoarece transformarea va include un DOCTYPE implicit în mod explicit, şi veţi aspect va fi în afara pentru o aruncare.

Soluţie:
XSLT Specificatii oferă metode de ieşire pentru a seta un DOCTYPE de alegere. De asemenea, pentru noi, dezvoltatorii UI, subiectele de interes ar fi metodele de ieşire HTML şi XML metodele de ieşire .

Ei bine! înainte de a te-ai plictisit, aici este fix.

De exemplu, dacă aţi avut următoarea DOCTYPE în versiunea HTML:. -

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

Apoi, în XSL va trebui să aibă următoarele: -

<xsl:output method="html" doctype-system="http://www.w3.org/TR/html4/loose.dtd" doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN" indent="yes" />

şi, în sfârşit! asiguraţi-vă că nu de ieşire XSLT se supune DOCTYPE-aţi ales.


NDK acasă | Exprimarea IT | Gust Exprimarea | Penmenship Exprimarea | Awe Exprimarea | a mă exprima