2009 27. Juli 2009

User Agent Style Sheets: Mystery Die Margen in Google Chrome

Gestern, wie jeder andere "Ground Hog Day", wurde ich auf einigen CSS / tableless Layouts arbeiten. Alles lief gut in IE 7, FF 3 und Chrome, soweit nicht plötzlich, sah ich einige un-ignorable Margen nur in Google Chrome zu sehen. Obwohl sehr seltsam und Worring, es einige neue Fehler / Problem war, dass ich accross kommen, gab es schließlich einige Gewürz in meinem alltäglichen Arbeit. Sad (aber feine) wurde es innerhalb von wenigen Minuten von der Sonde fixiert ...

Im Grunde sah es aus wie Google Chrome ignoriert meine CSS-Resets (margin: 0px). Es wurde tatsächlich durch den User-Agent-Stylesheet (-webkit-padding-Start: 40px) verursacht. Also die Lösung war, diesen Stil, indem Polsterung zurückzusetzen: 0 dem problembehafteten Elemente.
Eine gute Möglichkeit, dieses Problem nicht passiert zu jedem Element zu verhindern, ist weltweit ein Übriges CSS wie folgt

* {Margin: 0; padding: 0;}

Was ist User Agent Style Sheets (Spezifikation)?
Der folgende Auszug ist entnommen aus http://meiert.com/en/blog/20070922/user-agent-style-sheets/ , folgende Link, um mehr über User Agent Style Sheets lesen

CSS 1 führt die Idee mit der Feststellung, dass jeder User Agent (UA, oft ein "Web-Browser" oder "Web-Client") wird ein Standard-Stylesheet, das Dokumente in einer angemessenen präsentiert haben - aber wohl banal - Art und Weise. CSS 2 sagt, dass konforme Benutzerprogramme müssen ein Standard-Stylesheet anwenden (oder so tun, als wenn sie es taten) und dass ein User-Agent Das Standard-Stylesheet sollten die Elemente der Sprache des Dokuments in einer Weise, die allgemeine Präsentation Erwartungen für das Dokument Sprache befriedigen zu präsentieren; CSS 3 ist wahrscheinlich einer Meinung sein.

Da die CSS-Spezifikationen lassen Sie es bis zu Implementierungen, ob eine "echte" Stylesheet für Standard-Anzeige verwendet wird oder nicht, ist es nicht erstaunlich, dass Sie nicht finden, ein Standard-Stylesheet in jedem Browser den Installationsordner. Im Gegensatz zu Microsofts Internet Explorer sowie Opera, zum Beispiel (und soweit ich weiß), machen Gecko-Browsern wie Firefox und Netscape Navigator (suchen Sie nach "html.css"), sondern auch Konqueror es recht einfach auf die Standardwerte Styling zu begreifen.


2008 2. August 2008

Einstellen der DOCTYPE in XSL

Letzte Woche habe ich eine progressive HTML / CSS-Layout für einen Kunden, getestet in IE6, IE7 und FF 3, schien völlig in Ordnung ... BIS! Das Layout ging weiter unten in der fertigungsgerechtes Zyklus. Er scheiterte. Seitenlayout Elemente ging gerade ganz über dem Platz, wenn das HTML-Layout in XSL und XML angewendet, um es ... Bummer! Umgewandelt wurde!

Konnte nicht schlafen ok über das Wochenende im Vorgriff auf Montag morgen, als ich haben werde, um diese SH ** zu beheben. Aber jetzt mit ein wenig experince im Umgang mit dieser Art von Situationen (Browser Tücken, meine ich), wusste ich, es hatte mit nichts anderem zu tun, sondern DOCTYPE .... und es war ...

Das Problem:
Sie wollen die Kontrolle über die DOCTYPE, da Ihre Transformation wird eine Standard-DOCTYPE explizit enthalten, und Sie werden das Layout für einen Wurf.

Die Lösung:
XSLT-Spezifikationen bietet Methoden, um einen Ausgang der DOCTYPE der Wahl festgelegt. Auch für uns UI-Entwickler, würden die Themen von Interesse sein, HTML-Ausgabe Methoden und Verfahren der XML-Ausgabe .

Na ja! bevor Sie zu langweilen, hier ist der fix.

Für z. B., wenn Sie hatte die folgende DOCTYPE in Ihren HTML-Version:. -

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

Dann in der XSL müssten Sie über Folgendes verfügen: -

<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" />

und endlich! Sie sicherstellen, dass Ihre XSLT-Ausgabe gehorcht der DOCTYPE Sie gewählt haben.


NDK Hause | Ausdruck ihrer IT | Ausdruck Gaumen | Penmenship Ausdruck | Ausdruck Awe | mich auszudrücken