WebKit nedir ve CSS ile nasıl ilişkilidir?


277

Son zamanlarda, "webkit" etiketiyle ilgili sorular görüyorum. Bu tür sorular genellikle CSS, jQuery, düzenler, tarayıcılar arası uyumluluk sorunları vb. İle ilgili web tabanlı sorular olma eğilimindedir.

Peki bu "webkit" nedir ve CSS ile ilişkisi nedir? Ayrıca -webkit-...çeşitli web siteleri için kaynak kodunda birçok özellik fark ettim . Bu ikisi birbiriyle ilişkili mi?

Güncelleme

Şimdiye kadar verilen yanıtlardan ... WebKit, Safari / Chrome için bir HTML / CSS web tarayıcısı oluşturma motorudur. IE / Opera / Firefox için böyle motorlar var mı ve birini diğerinin üzerinde kullanmanın farklılıkları, artıları ve eksileri nelerdir? Örneğin Firefox'ta WebKit özelliklerini kullanabilir miyim?

Nihai soru ... WebKit IE tarafından destekleniyor mu?

Güncelleme 2

Tüm büyük tarayıcılar farklı oluşturma motorları kullanır. Sanırım bu kadar çok tarayıcılar arası uyumluluk sorununun büyük bir nedeni var!

Peki, TÜM tarayıcıların kullanacağı standart bir oluşturma motoruna bir tür proje veya hareket var mı? HTML5, tarayıcılar arası uyumluluk sorunlarına bir son verecek mi?


1
Son sorunuz etkili bir şekilde "IE, render etmek için programlanmamış şeyleri işlemek için söylenebilir mi?" Ve cevap hayır
Gareth

firefox'un oluşturma motoruna gecko denir. yani kendi özel motorlarını kullanır.
troelskn

@Gareth ... teşekkürler. Ben duymak değil umuyordum tam olarak bu :) Bu durumda, umarım IE yakında uyumlu olmaya başlayabilirsiniz ... ve insanlar IE6 kullanmayı bırak!
Hristo

6
Check out css3pie.com CSS aracılığıyla IE eklenen bazı webkit işlevsellik için.
Kenoyer130

WebKit, bugüne kadarki en kötü HTML oluşturma motorudur, hiçbiri çubuk değildir. Kötü değil kötü anlamı, NWA alıntı, ama kötü anlamı iyi.
Dagg Nabbit

Yanıtlar:


168

Güncelleme: Görünüşe göre WebKit, Safari / Chrome için bir HTML / CSS web tarayıcısı oluşturma motorudur. IE / Opera / Firefox için böyle motorlar var mı ve birini diğerinin üzerinde kullanmanın farklılıkları, artıları ve eksileri nelerdir? Örneğin Firefox'ta WebKit özelliklerini kullanabilir miyim?

Her tarayıcı HTML / CSS web sayfasını çizmek için bir oluşturma motoru tarafından desteklenir.

  • IE → Trident (Durdurulan)
  • Kenar → EdgeHTML ( Trident'in temizleme çatalı)( 2019'da Edge Blink olarak değiştirildi )
  • Firefox → Gecko
  • Opera → Presto(artık Şubat 2013'ten beri Presto kullanmıyor, Opera = Chrome'u düşünün, bu nedenle bugünlerde göz kırpın )
  • Safari → WebKit
  • Chrome → Blink ( Webkit çatalı ).

Farklı bölgelerdeki karşılaştırmaların listesi için bkz . Web tarayıcısı motorlarının karşılaştırması.

Nihai soru ... WebKit IE tarafından destekleniyor mu?

Doğal olarak değil.


.. güncellememi ele aldığınız için teşekkürler. Yani IE WebKit'i desteklemiyorsa ve -moz-özellikleri desteklemediğini biliyorum ... IE'nin CSS3 stillerini kabul etmesini nasıl sağlayabilirim?
Hristo

@Hristo: Hangi stile ihtiyacınız olduğuna bağlı olarak.
kennytm

Aklıma özel bir şey yoktu ... Sadece çapraz tarayıcı uyumluluğu söz konusu olduğunda IE berbat biliyorum ve WebKit bu sorunu çözmek için bir yol olup olmadığını merak ediyordum.
Hristo

3
güncellenmelidir. Chrome dev's webkit'i çatalladı ve opera artık presto kullanmıyor
Richard

1
EdgeHTML şimdi de durduruldu.
DreamTeK

115

@KennyTM'in söylediklerine ek olarak :

  • IE
  • kenar
  • Firefox
    • Motor: Gecko
    • CSS-öneki: -moz
  • Opera
    • Motor: PrestoBlink 1
    • CSS öneki: -o(Presto) ve -webkit(Göz kırpma)
  • Safari
    • Motor: WebKit
    • CSS-öneki: -webkit
  • Krom

1) 12 Şubat 2013'te Opera (sürüm 15+) , kendi motor Presto'larından Blink adlı WebKit'e taşındıklarını açıkladı .

2) 3 Nisan 2013'te Google (Chrome 28+ sürümü) WebKit tabanlı Blink motorunu kullanacaklarını açıkladı .

3) 6 Aralık 2018'de Microsoft (Microsoft Edge 79+ kararlı) WebKit tabanlı Blink motorunu kullanacaklarını açıkladı .


2
.. bu harika bir bilgi! Farklı oluşturma motorları bu önekleri yoksayar mı? yani misiniz Firefox görmezden -msie, -o, -webkit; misiniz Webkit göz ardı -moz, -o, -msie; vb...?
Hristo

1
@Hristo Evet, hiçbirini geçerli CSS olarak tanımıyor, bu yüzden onları görmezden geliyor
JKirchartz

1
JKirchartz doğru. Diğer tarayıcılar birbirlerini css-prefix göz ardı eder.
jerone

2
Ve Opera'nın taşındığı WebKit, kendisi Blink'e dönüşen Chromium çeşididir.
BoltClock

41

Webkit, Safari ve Chrome tarafından kullanılan bir web tarayıcısı oluşturma motorudur (diğerleri arasında, ancak bunlar popüler olanlardır).

-webkitCSS seçicileri üzerinde önek özellikleridir sadece bu motor çok benzer süreç, amaçlanan -mozözellikleri. Birçoğumuz bunun ortadan -webkit-border-radiuskalkacağını umuyoruz, örneğin standart ile değiştirilecek border-radiusve birden fazla tarayıcı için aynı şey için birden fazla kurala ihtiyacınız olmayacak . Bu gerçekten söz konusu olduğunda standart sürüme müdahale etmemesi amaçlanan "ön şartname" özelliklerinin sonucudur.

Güncellemeniz için: ... hayır gerçekten IE ile ilgili değil, IE en azından 9 önce Trident adlı farklı bir oluşturma motoru kullanıyor .


2
Peki -webkit-Firefox gibi CSS3 özelliklerinin gelişmiş oluşturulması için kullanılabilir mi?
Hristo

1
Hayır, Firefox Gecko adlı bir oluşturma motoru kullanır
Gareth

2
@Hristo - Firefox bazı benzer özellikler kullanıyor ancak bunlar -moz(mozilla için) olarak adlandırılıyor , -webkitstilleri ayrıştırırken rolleri yok sayacak :)
Nick Craver

35

Bu yanıtlandı ve kabul edildi, ancak birileri bugün neden işler biraz dağınık olduğunu merak ediyorsa, bunu okumak zorundasınız:

http://webaim.org/blog/user-agent-string-history/

Gecko, webkit ve diğer büyük oluşturma motorlarının nasıl geliştiği ve dağınık kullanıcı aracısı dizelerinin mevcut durumuna ne yol açtığı hakkında iyi bir fikir verir.

TL için son paragrafın alıntılanması; DR amaçları:

Sonra Google Chrome'u oluşturdu ve Chrome Webkit'i kullandı ve Safari gibiydi ve Safari için oluşturulmuş sayfalar istiyordu ve bu yüzden Safari gibi davrandı. Böylece Chrome WebKit kullandı ve Safari gibi davrandı ve WebKit KHTML gibi davrandı ve KHTML Gecko gibi davrandı ve tüm tarayıcılar Mozilla gibi davrandı ve Chrome kendini çağırdı Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13ve kullanıcı aracısı dizesi tam bir karmaşa oldu ve neredeyse işe yaramazdı ve herkes başka herkesmiş gibi davrandı ve kafa karışıklığı bolca oldu.


Yukarıdaki bağlantıyı ziyaret edin, bilgilendirici ve son doruğu komiktir.
Arun Prasad ES

10

-webkit-yalnızca Chrome, Safari, Opera ve iOS tarayıcılarının sığabileceği bir gruptur. Hepsinin ortak bir atası vardır, bu nedenle genellikle yetenekleri / sınırlamaları (CSS ve Javascript çalıştırma söz konusu olduğunda) grupla sınırlıdır.

Bir geliştirici ve -webkit-ardından bir kod yerleştirir, yani kod yalnızca Chrome, Safari, Opera ve iOS tarayıcılarında çalışır. İşte tam bir liste:

-webkit- (Chrome, Safari, Opera'nın daha yeni sürümleri, neredeyse tüm iOS tarayıcıları (iOS için Firefox dahil); temel olarak, herhangi bir WebKit tabanlı tarayıcı)

-moz- (Firefox)

-o- (Eski, WebKit öncesi, Opera sürümleri)

-ms- (Internet Explorer ve Microsoft Edge)


9

Nihai soru ... WebKit IE tarafından destekleniyor mu?

Türü. Check out Chrome Frame , bunun Webkit motoru kullanmak yapar Internet Explorer için bir eklenti bulunmaktadır. Tek ilginç, ziyaretçilerinizi eklentiyi yüklemeye ikna etmeniz gerektiğidir.

Güncelleme

Chrome Frame artık korunmuyor veya desteklenmiyor…


2
Chrome Frame artık desteklenmiyor.
Eric Willigers

Evet. En iyi ihtimalle bir durma boşluğu çözümüdür. 8 yıl sonra, IE'nin uygun tarayıcılara yol vermesinin zamanı geldi.
edgerunner

Microsoft, IE'nin gitmesini istiyor. Geriye dönük uyumluluk amacıyla Windows 10 ile birlikte sağlanır.
RJ Dunnill

8

WebKit, web tarayıcılarının web sayfaları oluşturmasına izin vermek için tasarlanmış bir düzen motorudur. WebKit motoru, web içeriğini pencerelerde görüntülemek için bir dizi sınıf sağlar ve kullanıcı tarafından tıklandığında aşağıdaki bağlantıları izlemek, bir geri ileri listesini yönetmek ve son ziyaret edilen sayfaların geçmişini yönetmek gibi tarayıcı özelliklerini uygular.

WebKit başlangıçta Apple Safari için düzen motoru olarak KHTML'nin bir çatal olarak oluşturuldu; diğer birçok bilgi işlem platformuna taşınabilir. Google'ın Chrome Tarayıcısında da kullanılır.

WebKit'in WebCore ve JavaScriptCore bileşenleri GNU Lesser General Public License altında bulunur ve WebKit'in geri kalanı BSD tarzı bir lisans altında bulunur.

Kaynak Wikipedia

Yerleşim motorları hakkında daha fazla bilgi için buraya


7

Webkit, Chrome ve Safari tarafından kullanılan bir HTML oluşturma motorudur.

Önde gelen bir dizi özel CSS özelliğini destekler -webkit-.


5

Webkit, popüler tarayıcılar Safari ve Chrome'da ve diğerlerinde kullanılan oluşturma motorudur.


5

Webkit, Apple'ın Safari tarayıcısında ve Google'ın Chrome'da kullanılan html / css oluşturma motorudur. -webkit- ile css değerleri önekleri webkit'e özgüdür, genellikle CSS3 veya diğer standart olmayan özelliklerdir.

Güncelleme 2'yi cevaplamak için w3c bu şeyleri standartlaştırmaya çalışan gövdedir, kuralları yazarlar, daha sonra programcılar bu kuralları yorumlamak için oluşturma motorlarını yazarlar. Temel olarak w3c, DIV'lerin "Bu şekilde" çalışması gerektiğini söylüyor, sonra motor yazarı bu kuralı kodlarını yazmak için kullanıyor, kuralların hataları veya yanlış yorumlamaları uyumluluk sorunlarına neden oluyor.


4

Bir web sitesi tasarımcısı olarak karşılaştığım ortak bir sorun, bir sürü insan IE6 + kullanmaktır. CSS dışında, tarayıcı başına her isteği ayrıştırmak için birden fazla oluşturma sözdizimi eklemek zorundayım. IE'nin Chrome / FF / Opera ve webkit kadar kolay okuyabileceği evrensel bir oluşturma kurulumu olsaydı çok güzel olurdu. IE ile sorun TÜM uygun CSS stilleri ve render kullanmazsanız, benim web siteleri bakmak ve IE dışında her tarayıcıyı kullanarak harika çalışıyor olmasıdır. Bu, mutsuz, zor bir IE müşterisi olabilir.

Örnek olarak şunu söyleyelim: Kenar yarıçapı% 10 olan 1 piksel gri bir kenarlığa ihtiyacım var. Chrome ve diğerleri için webkit özelliğini kullanıyorum. Şimdi, IE için, "border: 1px solid # E5E5E5" ve "border-radius: 10%" gibi basit eski CSS değerlerini kullanarak ayrı CSS stilleri eklemeliyim. Olumlu bir sonuç tüm IE tarayıcı sürümlerinde her zaman garanti edilmez, ancak çoğunlukla bu yöntem benim ve diğerleri için iyi çalışır.


3

Bu daha eski bir gönderi olsa da, Internet Explorer'ın eski sürümleri için oluşturmanın başka bir yöntemi de vardır. -webkit, bir CSS Satıcı Öneki olurken, birkaç JS uygulamasını da indirebilir ve HTML'nin HEAD'inin altına yerleştirebilirsiniz.

Modernizr, HTML5 Shiv ve Respond.js'yi kullanmayı deneyin. Bunlar, çoklu dolgular kullanan inanılmaz IE uyumlu çoklu dolgu komut dosyaları ve IE9 ve Aşağıda HTML5 öğelerini daha iyi oluşturmaya yardımcı olacak diğer kaynaklardır.

Bu çoklu dolguları kullanmak için, tarayıcı yerleştirmek IE sürümünden daha az ise, bunları yerleştirmek için HTML boole mantığı ekleyin. Örnek kod:

<head>
<!-- HEAD Elements -->  
<script src="path/to/modernizr.js" type="text/javascript"></script>
<!--[if lt IE 6]>
  <script src="path/to/HTMLSiv.js" type="text/javascript">
  </script>
  <script src="path/to/respond.js" type="text/javascript">
  </script>
<![endif]-->
</head>


1

WebEnginesÖzellikle webKitve geliştiricileri hakkında okuyabileceğiniz iyi bir dokümantasyon : WebKit


1

Webkit, popüler tarayıcılar Safari ve Chrome'da ve diğerlerinde kullanılan oluşturma motorudur Her tarayıcı, bir HTML / CSS web sayfası çizmek için bir oluşturma motoru tarafından desteklenir.

IE → Trident (üretilmiyor) Edge → EdgeHTML (Trident'in temizleme çatalı) Firefox → Gecko Opera → Presto (artık Şubat 2013'ten beri Presto kullanmıyor, Opera = Chrome'u bugün düşünün) Safari → WebKit Chrome → Göz kırpma (WebKit'in bir çatalı) .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.