<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Fatih Hayrioğlu&#039;nun not defteri &#187; ie-hata</title>
	<atom:link href="http://www.fatihhayrioglu.com/tag/ie-hata/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.fatihhayrioglu.com</link>
	<description>{ CSS, HTML ve Javascript }</description>
	<lastBuildDate>Thu, 09 Feb 2012 08:44:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=2012</generator>
		<item>
		<title>Internet Explorer İşaret kutularının(checkbox) onchange tetiklemesindeki sorun ve çözüm önerisi</title>
		<link>http://www.fatihhayrioglu.com/internet-explorer-isaret-kutularinincheckbox-onchange-tetiklemesindeki-sorun-ve-cozum-onerisi/</link>
		<comments>http://www.fatihhayrioglu.com/internet-explorer-isaret-kutularinincheckbox-onchange-tetiklemesindeki-sorun-ve-cozum-onerisi/#comments</comments>
		<pubDate>Thu, 09 Aug 2007 07:45:39 +0000</pubDate>
		<dc:creator>fatih.hayrioglu</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[hata]]></category>
		<category><![CDATA[Hata ayıklama]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[ie-hata]]></category>
		<category><![CDATA[ie6]]></category>
		<category><![CDATA[işaret-kutucuğu]]></category>

		<guid isPermaLink="false">http://www.fatihhayrioglu.com/?p=366</guid>
		<description><![CDATA[Aslında konuyu başlıkta anlattım. İşaret kutularına onchange ekleyip tetiklemeye çalışınca çalışmıyor. Firefox&#8217;da çalışıyor sorunun çözümü Bu kod Internet Explorer&#8217;da çalışmayacaktır. Bizde bunun yerine onclick tetiklemesini kullanacağız. kaynak: http://krijnhoetmer.nl/stuff/javascript/checkbox-onchange/]]></description>
			<content:encoded><![CDATA[<p>Aslında konuyu başlıkta anlattım. İşaret kutularına <strong>onchange</strong> ekleyip tetiklemeye çalışınca çalışmıyor. Firefox&#8217;da çalışıyor sorunun çözümü </p>
<pre class="brush: jscript; title: ; notranslate">
&lt;p&gt;
    &lt;input type=&quot;checkbox&quot; onchange=&quot;document.getElementById('spDegistir').innerHTML = 'Checked: ' + this.checked;&quot; id=&quot;change&quot;&gt;
    &lt;label for=&quot;change&quot;&gt;Using onchange&lt;/label&gt;
    &lt;span id=&quot;spDegistir&quot;&gt;&lt;/span&gt;
&lt;/p&gt;
</pre>
<p>Bu kod Internet Explorer&#8217;da çalışmayacaktır. Bizde bunun yerine <strong>onclick</strong> tetiklemesini kullanacağız.</p>
<pre class="brush: jscript; title: ; notranslate">
&lt;p&gt;
    &lt;input type=&quot;checkbox&quot; onclick=&quot;document.getElementById('spDegistir').innerHTML = 'Checked: ' + this.checked;&quot; id=&quot;change&quot;&gt;
    &lt;label for=&quot;change&quot;&gt;Using &lt;code&gt;onchange&lt;/code&gt;&lt;/label&gt;
    &lt;span id=&quot;spDegistir&quot;&gt;&lt;/span&gt;
&lt;/p&gt;
</pre>
<p>kaynak: <a href="http://krijnhoetmer.nl/stuff/javascript/checkbox-onchange/">http://krijnhoetmer.nl/stuff/javascript/checkbox-onchange/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.fatihhayrioglu.com/internet-explorer-isaret-kutularinincheckbox-onchange-tetiklemesindeki-sorun-ve-cozum-onerisi/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>CSS Hata Ayıklama Yöntemleri</title>
		<link>http://www.fatihhayrioglu.com/css-hata-ayiklama-yontemleri/</link>
		<comments>http://www.fatihhayrioglu.com/css-hata-ayiklama-yontemleri/#comments</comments>
		<pubDate>Thu, 04 Jan 2007 21:05:00 +0000</pubDate>
		<dc:creator>fatih.hayrioglu</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[XHTML]]></category>
		<category><![CDATA[Attribute]]></category>
		<category><![CDATA[backslash]]></category>
		<category><![CDATA[Çocuk-Seçicileri]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Hata ayıklama]]></category>
		<category><![CDATA[ie-fix]]></category>
		<category><![CDATA[ie-hata]]></category>
		<category><![CDATA[ie6]]></category>
		<category><![CDATA[ie7]]></category>
		<category><![CDATA[important]]></category>
		<category><![CDATA[Opera]]></category>
		<category><![CDATA[owen]]></category>

		<guid isPermaLink="false">http://www.fatihhayrioglu.com/?p=242</guid>
		<description><![CDATA[IE&#8217;de Hata Ayıklamak için şartlı Yorumlar Kullanmak adlı makalede bahsettiğimiz gibi &#34;CSS ile web sitesi kodlamanın en büyük sorunu CSS&#8217;in özelliklerini yorumlayamayan veya yanlış yorumlayan web tarayıcılarıdır. Bu nedenle CSS ile web sitesi kodlarken bu tip hataları ayıklamamız gerekiyor. CSS ile hata ayıklama web tarayıcı gruplarının veya bir kısım web tarayıcısı için kuralları veya bildirimleri [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.fatihhayrioglu.com/iede-hata-ayiklamak-icin-sartli-yorumlar-kullanmak/" title="IE'de Hata Ayıklamak için şartlı Yorumlar Kullanmak">IE&#8217;de Hata Ayıklamak için şartlı Yorumlar Kullanmak</a> adlı makalede bahsettiğimiz gibi &quot;CSS ile web sitesi kodlamanın en büyük sorunu CSS&#8217;in özelliklerini  yorumlayamayan veya yanlış yorumlayan web tarayıcılarıdır. Bu nedenle  CSS ile web sitesi kodlarken bu tip hataları ayıklamamız gerekiyor. <strong>CSS  ile hata ayıklama web tarayıcı gruplarının veya bir kısım web  tarayıcısı için kuralları veya bildirimleri gizlemek veya göstermek  şeklinde uygulanır.</strong>&quot;<span id="more-242"></span> </p>
<p>Biz CSS&#8217;de hata ayıklamak için bir çok yöntem kullanırız. Bunların en çok kullanılanları aşağıda anlatılmıştır. </p>
<h6>Çocuk Seçicileri Kullanarak Hata Ayıklamak </h6>
<p>Çocuk seçicilerini incelemek için <a href="http://www.fatihhayrioglu.com/xhtml-sayfa-yapisi-ve-css-kullanimi/">tıklayınız</a>.  Çocuk Seçicileri CSS hata ayıklama yöntemi olarak kullanılabilir. Çocuk Seçicileri Windows sistemlerinde kurulu olan IE6 ve alt versiyonlarında görüntülenmeyecektir, bu nedenle IE6 ve altı versiyonlarda görünmesi istenmeyen tanımlar Çocuk Seçicileri kullanarak gizlenebilir. </p>
<p>Her tanımlamadan sonra ikinci bir tanımlama olarak kullanılır. İkinci tanımlama çocuk seçicisi olmalıdır. </p>
<pre class="brush: css; title: ; notranslate">
.icerik h3 {height:21px;}
.icerik &gt; h3 {height:auto; min-height:21px;}
</pre>
<p><a href="http://www.fatihhayrioglu.com/internet-explorer-7-ve-css/">IE 7 Çocuk Seçicilerini desteklemektedir.</a> Bu metot uygulanırken bu dikkate alınmalıdır.</p>
<h3>Özellik(Attribute) Seçicileri  Kullanarak Hata Ayıklamak </h3>
<p>Diğer bir hata ayıklama yöntemi Özellik Seçicileri kullanarak hata ayıklamaktır. Bir çok yeni nesil web tarayıcısı (FF ve Safari) bu kullanımı destekler, ancak IE6 ve altı versiyonlar bu özelliği desteklemez. <a href="http://www.fatihhayrioglu.com/internet-explorer-7-ve-css/">IE7 bu kullanımı desteklemektedir.</a> Bu hata ayıklama yöntemi yukarıda bahsettiğimiz &#8220;Çocuk Seçicileri ile Hata ayıklama&#8221; yöntemi gibi kullanılır.</p>
<p>Özellik Seçicileri kullanarak elementlerin id&#8217;lerine göre atamalar yapabiliriz. Bu bize bir çok avantaj sağlar. Bu avantajları hata ayıklamak içinde kullanabiliriz. </p>
<pre class="brush: xml; title: ; notranslate">
&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01//EN&quot; &quot;http://www.w3.org/TR/html4/strict.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
&lt;title&gt;Test&lt;/title&gt;
	&lt;style type=&quot;text/css&quot;&gt;
    p{background: red; /* Tüm web tarayıcılarında görünür */}
    body[class|=&quot;sayfaYapisi&quot;] p{ background: green; /* IE 7 ve Yeni web tarayıcılarında görünür Opera hariç */}
    &lt;/style&gt;
&lt;/head&gt;
&lt;body class=&quot;sayfaYapisi&quot;&gt;
	&lt;p&gt;Test&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<h3>Genel Seçicileri (*) Kullanarak Hata Ayıklamak</h3>
<p>Her ne kadar bu hata IE7 ile birlikte düzeltildiyse de çok kullanışlı bir hata ayıklama metodudur. Kullanımı çok basittir. </p>
<pre class="brush: css; title: ; notranslate">
a:hover {border: 1px dotted black;}
* html a:hover { // bu tanımlamayı ie6+ ve altı versiyonlarda görünmeyecektir.
	border-style: solid;
}
</pre>
<h3>Ters Bölü İşareti(\) İle Hata Ayıklama</h3>
<p>IE5x/Win versiyonları bu karakteri yorumlamazlar bu nedenle IE5x/win versiyonlarından kodumuzu gizlemek için bu yöntemi kullanabiliriz. CSS kodu yazarken en çok ihtiyacımız olan genişlik tanımının IE5x versiyonlarda yanlış algılanmasıdır. bu hatayı düzeltmek için bu yöntem kullanılabilir. </p>
<pre class="brush: css; title: ; notranslate">
#icerik {
  width: 770px;
  wid\th: 750px; /* ie5x - win bu kodu görmeyecek */
}
</pre>
<p>Ben şahsen kutu modelinde hata ayıklamak için <a href="http://tantek.com/CSS/Examples/boxmodelhack.html">tantek</a>&#8216;in kullandığı <a href="http://www.fatihhayrioglu.com/kutu-modeli-sorunlari-ve-cozumleri/">metodu</a> kullanıyorum, daha sağlıklı ve tüm web tarayıcıları göze alınarak hazırlanmış bir hata ayıklama metodudur tavsiye ederim. Ama bu yönteminde kullanıldığını bilelim. </p>
<h3>Alt Çizgi (_) ile Hata Ayıklama</h3>
<p>Bu yöntemde IE4-6 versiyonlarda hata düzeltmek için kullanılabilir. </p>
<pre class="brush: css; title: ; notranslate">
#menu {
  position: fixed;
  _position: static;
}
</pre>
<p>Burada yeni nesil web tarayıcıları ikinci tanımlamayı görecek ve buna göre yorumlama yapacaktır. Ancak IE4-6/win versiyonları (_) anlayamadığı için bu kodu yorumlamayacak ve ilk koda göre hareket edecektir. </p>
<h3>Owen Yöntemi ile Hata Ayıklama</h3>
<p>şimdiye kadar ki tüm yöntemler Internet Explorer içindi. Bunun nedeni bir çok hatanın IE&#8217;den kaynaklanmasıdır tabi. şimdi kullanacağımız metod ise Opera için bir hata ayıklamasıdır. </p>
<pre class="brush: css; title: ; notranslate">
.solAlan {
	background-image: none
}
/*  Asagidaki bolum Opera 6 ve altı veya IE6/win görünmeyecek */
head:first-child+body .solAlan {
	background-image: url(menu.png);
	background-attachment: fixed;
}
</pre>
<p>Bu yöntem hem Opera 6 ve altı hem de IE6 ve altı versiyonlar için geçerlidir. Sadece Opera 6 ve altı versiyonlar için kod yazmak istersek</p>
<pre class="brush: css; title: ; notranslate">
html&gt;body div.alt {
	c\olor: red; /* sadece Opera 6 için */
}
head:first-child+body div.alt {
	color: black;
}
</pre>
<h3>Yorum Kodları içinde (\) Kullanımı ile IE/Mac&#8217;de Hata Ayıklama</h3>
<p>IE/Mac versiyonlarında yorum satırı içindeki  ters bölme işaretini(\) yorumlamamaktadır. Bu nedenle IE/Mac versiyonlarında hata ayıklamak için bu yöntem kullanılabilir. </p>
<pre class="brush: css; title: ; notranslate">
/* bu alani IE5/Mac den gizleyelim \*/
* html {
	height: 1px;
}
/* hata ayiklama sonu */
</pre>
<p>Bunların dışında kutu modeli hata ayıklaması için kullandığımız <a href="http://www.fatihhayrioglu.com/?p=13">tantek</a>&#8216;in yöntemi,  <a href="http://www.fatihhayrioglu.com/?p=31">Css de kodumuzu İE&#8217;den gizleme</a> adlı makalede kullandığımız <strong>!important</strong> yöntemi ve <a href="http://www.fatihhayrioglu.com/?p=182">IE&#8217;da min-width, min-height,max-width, max-height Kullanmak</a> makalesinde kullandığımız <strong>expression()</strong> yöntemleride vardır.   Bunlardan daha önce bahsettiğimiz için değinmedik. Bunların dışında kullanılan diğer bazı yöntemler olsa da biz burada genel kabul görmüş yöntemleri yazmayı uygun bulduk. </p>
<h3>Kaynaklar</h3>
<ul>
<li><a href="http://www.webdevout.net/articles/css_hacks.php">http://www.webdevout.net/articles/css_hacks.php</a></li>
<li><a href="http://swik.net/CSS/CSS+Hacks">http://swik.net/CSS/CSS+Hacks</a></li>
<li><a href="http://css-discuss.incutio.com/?page=CssHack">http://css-discuss.incutio.com/?page=CssHack</a></li>
<li><a href="http://www.quirksmode.org/css/csshacks.html">http://www.quirksmode.org/css/csshacks.html</a></li>
<li><a href="http://tantek.com/CSS/Examples/boxmodelhack.html">http://tantek.com/CSS/Examples/boxmodelhack.html</a></li>
<li><a href="http://www.albin.net/CSS/OwenHack.html">http://www.albin.net/CSS/OwenHack.html</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.fatihhayrioglu.com/css-hata-ayiklama-yontemleri/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>IE&#8217;un 3 piksel Metin Öteleme Hatası</title>
		<link>http://www.fatihhayrioglu.com/ieun-3-piksel-metin-oteleme-hatasi/</link>
		<comments>http://www.fatihhayrioglu.com/ieun-3-piksel-metin-oteleme-hatasi/#comments</comments>
		<pubDate>Sun, 10 Dec 2006 16:42:16 +0000</pubDate>
		<dc:creator>fatih.hayrioglu</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Web Standartları]]></category>
		<category><![CDATA[XHTML]]></category>
		<category><![CDATA[IE-Three-Pixel-Gap]]></category>
		<category><![CDATA[ie-fix]]></category>
		<category><![CDATA[ie-hata]]></category>
		<category><![CDATA[ie7]]></category>

		<guid isPermaLink="false">http://www.fatihhayrioglu.com/?p=231</guid>
		<description><![CDATA[Bu hata IE5-6/Win versiyonlarında görünür. Float uygulanmış elementlere komşu metinlerin maruz kaldığı bir hatadır. Örneği bir elementinize float:left tanımı yaptınız ve yanına bir paraf yazı eklemek istediğinizde, ie5-6 versiyonlarında soldaki float uygulanmış element içeriği boyunda sağdaki metin soldan 3 piksel kadar içeriğini öteleyecektir. Başlangıç olarak değişen içeriğine göre yükselik alan metin alanına(sağdaki metin) müdahale edeceğiz. [...]]]></description>
			<content:encoded><![CDATA[<p>Bu hata IE5-6/Win versiyonlarında görünür. Float uygulanmış elementlere komşu metinlerin maruz kaldığı bir hatadır. Örneği bir elementinize <strong>float:left</strong> tanımı yaptınız ve yanına bir paraf yazı eklemek istediğinizde, ie5-6 versiyonlarında soldaki float uygulanmış element içeriği boyunda sağdaki metin soldan 3 piksel kadar içeriğini öteleyecektir.<br />
  <span id="more-231"></span>
</p>
<pre class="brush: css; title: ; notranslate">
.solKolon {
    float: left;
    width: 200px;
    background-color:#00CCFF;
}
p {
    margin-left: 200px;
    background-color:#CCCCCC;
}
</pre>
<p align="center"><img src="/dokumanlar/3piksel_sorunu.gif" width="440" height="344"></p>
<p>Başlangıç olarak değişen içeriğine göre yükselik alan metin alanına(sağdaki metin) müdahale edeceğiz. Görünüm olarak 3 piksellik boşluğu kaldırabiliriz. IE5-6 yükseklik tanımını min-height gibi yorumlar, elementin yüksekliğine küçük bir değer(<strong>height:1%</strong>) atadığımızda bu elementin boyutunu değiştirmeyecektir. Bu atama diğer web tarayıcılarını etkileyecektir bu nedenle diğer web tarayıcılarından bu kodu gizlemeliyiz. </p>
<pre class="brush: css; title: ; notranslate">
/* E5-Mac gizleyelim. sadece IE-Win görsün bu kodu. \*/
* html p {
	height: 1%;
}
/* IE5/Mac den gizlemeye son */
</pre>
<p align="center"><img src="/dokumanlar/3piksel_sorunu2.gif" width="440" height="344"></p>
<p>Ancak şöyle bir sorunumuz daha var ki <a href="http://www.fatihhayrioglu.com/ieda-ikikat-gorulen-margin-problemi-ve-cozumu/">önceki konulardan</a> bildiğimiz gibi bu alana float uygulandığında <strong>margin-left:200px</strong> tanımını IE iki kat görecektir bunu engellemek için <strong>margin-left</strong> değerini sıfırlamalıyız.</p>
<pre class="brush: css; title: ; notranslate">
/* E5-Mac gizleyelim. sadece IE-Win görsün bu kodu. \*/
* html p {
  height: 1%;
  margin-left: 0;
}
/* IE5/Mac den gizlemeye son */
</pre>
<p>İçerideki boşluğu aldık ancak elementler arasında boşluk kaldı bunu kaldırmak için sağ margin  değerine -3 piksel atama yapmalıyız. </p>
<pre class="brush: xml; title: ; notranslate">
/* E5-Mac gizleyelim. sadece IE-Win görsün bu kodu. \*/
* html p {
  height: 1%;
  margin-left: 0;
}
* html .solKolon {
  margin-right: -3px;
}
/* IE5/Mac den gizlemeye son */
</pre>
<p>Bu tüm sorunlarımız çözecektir. Tabi float uygulanan elementin içinde resim yoksa. Resmin olduğu durumlarda sorun olacaktır. Bu sorunu çözmek için IE5/Win için resmin sağına ve soluna -3 piksel margin ataması yapmalıyız. IE6 bu margin&#8217;leri görmemelidir. Bunun için kodumuz şöyle olacaktır:</p>
<pre class="brush: xml; title: ; notranslate">
/* E5-Mac gizleyelim. sadece IE-Win görsün bu kodu. \*/
* html p {
  height: 1%;
  margin-left: 0;
}
* html img.solKolon {
  margin: 0 -3px;
  ma\rgin: 0;
}
/* IE5/Mac den gizlemeye son */
</pre>
<p>Biliyorum bu kod bizim sade ve temiz kod mantığımıza çok ters ama yapılabilecek pek bir şey de yok. Bu CSS&#8217;in sorunu değil tamamen IE&#8217;nin sorunundan kaynaklanıyor. </p>
<div class="ekstrabilgi">Microsoft bu hatasını sonunda anladı ve yeni versiyonu <a href="http://www.fatihhayrioglu.com/internet-explorer-7-ve-css/">IE7</a>&#8216;de bu sorunu giderdi. Ama bu bizim hatayı ayıklamamız anlamına gelmiyor. En azında IE7 kullananlar çoğalana kadar. Hala 1999&#8242;da çıkan IE5 için kod yazdığımızı düşünürsek bayağı bir zaman daha bu kodları yazmamız gerekiyor:/ </div>
<h3>Kaynaklar</h3>
<ul>
<li><a href="http://www.positioniseverything.net/explorer/threepxtest.html">http://www.positioniseverything.net/explorer/threepxtest.html</a></li>
<li><a href="http://www.simplebits.com/notebook/2004/07/30/3pixels.html">http://www.simplebits.com/notebook/2004/07/30/3pixels.html</a></li>
<li><a href="http://krijnhoetmer.nl/stuff/css/three-pixel-bug/">http://krijnhoetmer.nl/stuff/css/three-pixel-bug/</a></li>
<li><a href="http://www.communitymx.com/content/article.cfm?page=2&#038;cid=C37E0">http://www.communitymx.com/</a></li>
<li><a href="http://www.friendsofed.com/book.html?isbn=1590596145">http://www.friendsofed.com/</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.fatihhayrioglu.com/ieun-3-piksel-metin-oteleme-hatasi/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

