Bir css stil görüntülemek eğer IE ve başka eğer ff ya. Css krom PHP kullanarak

4 Cevap php

Ben IE çalışmak ve bu FF ve krom çalışır gelmez bazı CSS tarzı var. Ben else if kullanmak mümkün olmak istiyorum. Ama PHP benim için. Css dosyasına ulaşmak için dahil edilebilir IfElse olabilir?

[Değiştir]

Ben bir amaç için iki. Css dosyaları istemiyorum

Thanks Jean

4 Cevap

Sen conditional comments diğer tarayıcılardan bir CSS dosyasını gizlemek için kullanabilirsiniz.

Eğer gerçekten CSS hizmet için hangi karar vermek istiyorsanız, sunucu tarafı, daha sonra user agent string olarak hangi tarayıcı belirlemek için ayrıştırma bakmak olabilir; ama, dikkat bu zahmetsizce sahte olabilir - Bazı tarayıcılar bile onlar kutudan olarak tespit edeceğiz ne toplayalım, böylece yanlış pozitif ile bitirmek olabilir.

(Eğer çok sunucu yükü hakkında rahatsız ediyorsanız) can PHP ile CSS dosyalarını yorumlamak, Apache yapılandırması bu satırı koyarsanız:

addhandler application/x-httpd-php .css

Sonra $_SERVER['HTTP_USER_AGENT'] güvenmeye çalışın, ama güvenilir olmasını garanti edilmez sakının.

Ancak, IE koşullu yorum kullanarak dahil bunu başarmak için (IMO) daha iyi yolları vardır:

<!--[if IE 8]>
<style type="text/css" ... />
<![endif]-->

Tabii ki en çok tercih edilen yol genellikle mümkündür, ama IE 6 gibi eski bir tarayıcı desteklemek zorunda olan eğer CSS guru-lik bazı düzeyi gerektirir tarayıcı uygulama farklılıkları önlemek için stilleri yeniden yazmak olacaktır.

Genellikle farklı tarayıcılar için sitenizi özelleştirmek istemiyorum konuşma. Mümkün olduğunca tekdüze her şeyi yapmak istiyorum. Tabii ki bir tarayıcı belirli bir şekilde bir şeyler yapmak zorunda ama benim deneyim, doğru teknikleri ile, bu durumlar nadir örnekleri vardır.

Bazı genel kurallar:

  1. Always bir DOCTYPE on all HTML sayfaları beyan. Bu oldukça tuhaflıklar moduna göre daha uyumlu sözde standartları içine tarayıcıları (en önemlisi IE) zorlar. Quirks modu IE şeyler yanlış bir kutu modeli var gibi yok. Bu nedenle ben suspect Eğer bazı şeyleri yanlış (ilginç) bir şekilde yapıyoruz ve FF / Krom aslında doğru bir yorumlama vardır. Bu, benim için, en olası senaryo; ve

  2. Bir reset CSS kullanın. Farklı tarayıcılar (ve aynı tarayıcının farklı sürümleri), farklı dolgu için varsayılan, vb marjları, sınırları, bu aynı başlangıç ​​noktasına tümünü sıfırlamak ve oradan gitmek için en iyisi var.

Bunun da ötesinde conditional comments kullanabilirsiniz.

Css koşullu akış kontrolü desteklemiyor. Farklı teknikler üzerine çözmelidir:

  • Koklama bazı tarayıcı tabanlı CSS kurallarını yazdırmak için PHP var. I do not raccomend this
  • include different css with the link tag into the header section using conditional comments (see http://www.quirksmode.org/css/condcom.html)