2009 27 Juli 2009

Pengguna Style Sheets Agen: Misteri Margin di Google Chrome

Kemarin, seperti setiap "Hari Ground Hog" lain, saya sedang mengerjakan beberapa layout CSS / Tableless. Semua berjalan lancar di IE 7, FF 3 dan Chrome, sampai tiba-tiba, saya melihat beberapa un-tidak dapat diketahui margin terlihat hanya di Google Chrome. Meskipun sangat aneh dan worring, Itu adalah beberapa masalah bug / baru yang saya datang di seluruh, ada akhirnya beberapa rempah-rempah dalam pekerjaan duniawi saya. Sedih (tapi bagus) itu bisa diperbaiki dalam beberapa menit dari penyelidikan ...

Pada dasarnya, itu tampak seperti Google Chrome mengabaikan saya Mereset CSS (margin: 0px). Ini sebenarnya disebabkan oleh stylesheet user agent (-webkit-padding-start: 40px). Jadi solusinya adalah untuk mengatur ulang gaya ini dengan menetapkan padding: 0 elemen nakal.
Cara yang baik untuk mencegah masalah ini terjadi pada setiap elemen adalah menggunakan Istirahat CSS global sebagai berikut

* {Margin: 0; padding: 0;}

Apa Pengguna Style Sheets Agen (Spesifikasi)?
Kutipan berikut diambil dari http://meiert.com/en/blog/20070922/user-agent-style-sheets/ , link tindak untuk membaca lebih lanjut tentang Style Sheets User Agent

CSS 1 memperkenalkan ide dengan menyatakan bahwa setiap User Agent (UA, sering 'web browser' atau 'klien web') akan memiliki lembar standar gaya yang menyajikan dokumen dalam akal - tetapi bisa dibilang biasa-biasa saja - cara. CSS 2 mengatakan bahwa agen pengguna sesuai harus menerapkan style sheet default (atau bersikap seolah-olah mereka lakukan) dan bahwa default style sheet agen pengguna harus menyajikan unsur-unsur dari bahasa dokumen dengan cara yang memenuhi harapan presentasi umum untuk bahasa dokumen; CSS 3 adalah kemungkinan dari pikiran yang sama.

Karena spesifikasi CSS menyerahkannya implementasi apakah akan menggunakan "nyata" style sheet untuk tampilan default atau tidak, itu tidak mengherankan bahwa Anda tidak menemukan selembar standar gaya dalam folder instalasi setiap browser. Tidak seperti Microsoft Internet Explorer dan juga Opera, misalnya (dan sejauh yang saya tahu), browser Gecko seperti Firefox dan Netscape Navigator (mencari "html.css") tetapi juga Konqueror membuatnya lebih sederhana untuk memahami gaya standar mereka.


2008 2 Agustus 2008

Mengatur DOCTYPE dalam XSL

Minggu lalu saya membuat sebuah tata letak HTML / CSS progessive untuk klien, diuji di IE6, IE7 dan FF 3, tampak baik-baik saja ... SAMPAI! tata letak pergi lebih bawah siklus manufacting. Gagal. Halaman elemen tata letak hanya pergi di seluruh tempat ketika tata letak HTML diubah menjadi XSL dan XML diterapkan untuk itu ... Nyebelin!

Tidak bisa tidur ok selama akhir pekan, untuk mengantisipasi Senin pagi, ketika aku harus memperbaikinya SH **. Tapi sekarang memiliki pengalam sedikit dalam menangani ini dengan jenis situasi (quirks Browser, maksud saya), saya tahu itu ada hubungannya dengan hal lain kecuali DOCTYPE .... dan It WAS ...

Masalah:
Anda ingin kontrol atas DOCTYPE, karena transformasi Anda akan menyertakan DOCTYPE standar secara eksplisit, dan Anda tata letak akan keluar untuk melemparkan.

Solusi:
XSLT spesifikasi menyediakan metode output untuk menetapkan DOCTYPE dari choise. Juga, bagi kita UI pengembang, topik yang menarik akan menjadi metode output HTML dan metode output XML .

Nah! sebelum Anda mendapatkan bosan, di sini adalah memperbaiki.

Untuk misalnya, jika Anda memiliki DOCTYPE berikut dalam versi HTML Anda:. -

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

Kemudian pada XSL Anda harus memiliki berikut ini: -

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

dan Akhirnya! pastikan Anda keluaran XSLT mematuhi DOCTYPE Anda pilih.


NDK rumah | Mengekspresikan TI | Langit-langit Mulut Mengekspresikan | Penmenship Mengekspresikan | Awe Mengekspresikan | Mengekspresikan Diriku