<?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; resim-haritaları</title>
	<atom:link href="http://www.fatihhayrioglu.com/tag/resim-haritalari/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>CSS ile Resim Haritaları(imagemap) yapmak</title>
		<link>http://www.fatihhayrioglu.com/css-ile-resim-haritalariimagemap-yapmak/</link>
		<comments>http://www.fatihhayrioglu.com/css-ile-resim-haritalariimagemap-yapmak/#comments</comments>
		<pubDate>Mon, 17 Nov 2008 09:14:56 +0000</pubDate>
		<dc:creator>fatih.hayrioglu</dc:creator>
				<category><![CDATA[Haberler]]></category>
		<category><![CDATA[flickr]]></category>
		<category><![CDATA[fotoğraf]]></category>
		<category><![CDATA[imagemap]]></category>
		<category><![CDATA[resim-haritaları]]></category>

		<guid isPermaLink="false">http://www.fatihhayrioglu.com/?p=760</guid>
		<description><![CDATA[Ben ilk defa Flickr&#8217;da(bir örnek verelim. Dexter HTML kesiyormuş. :) gördüğüm bu metodu çok ilginç bulmuştum. Gerçekten kullanıcıya yardımcı olan bir uygulama, görünümü hoş ve işlevsel. İlk gördüğümde bu işin javascript yardımı ile yapıldığını düşünmüştüm ki araştırdığım da gördüm ki javascript yardımı ile yapanlar var, ama sadece css ile bu işi yapanlarda var. Bu konuyu [...]]]></description>
			<content:encoded><![CDATA[<p>Ben ilk defa Flickr&#8217;da(bir örnek verelim. <a title="Dexter HTML kesiyormuş." href="http://www.flickr.com/photos/mollyeh11/2720714668/" >Dexter HTML kesiyormuş.</a> :) gördüğüm bu metodu çok ilginç bulmuştum. Gerçekten kullanıcıya  yardımcı olan bir uygulama, görünümü hoş ve işlevsel. İlk gördüğümde bu  işin javascript yardımı ile yapıldığını düşünmüştüm ki araştırdığım da  gördüm ki javascript yardımı ile yapanlar var, ama sadece css ile bu  işi yapanlarda var. Bu konuyu araştırıp bir yazı yazmayı konuyu CSS  Mastery kitabında okuduğumda karar vermiştim, ancak olmadı nasip  şimdiye imiş. </p>
<p><span id="more-760"></span></p>
<p><img src="/images/flickr_dexter.jpg" alt="Dexter - HTML" width="500" height="530" /></p>
<p>Resim  haritalama işi aslında bizim HTML&#8217;den aşina olduğumuz bir konu. Eskiden  çok kullanırdık şimdilerde html e-postalarda(mailing) daha ziyade  kullanılıyor. Resmin belli noktalarına link verebilmek çok güzel bir  işti. Ben daha bu işlere ilk başladığımdaki o zamanlar FrontPage ile  yapmaya çalışıyordum bu işleri. Resim haritalarını çözmek 1 haftamı  almıştı. Gülermisin ağlarmısın :D</p>
<p>Biz burada flickr&#8217;dakine  benzer bir uygulamayı beraber yapacağız. Aslında burada kullanacağımız  teknik bildiğimiz göreceli eleman içindeki mutlak elemanın  konumlandırması tekniğidir. Resmimizi içeren göreceli konumlandırılmış  bir elaman koyup resim üzerinde belirteceğimiz noktalarıda mutlak  konumlandıracağız ve bu noktaları farenin üzerine geldiğinde belirtip  ilgili açıklamayı göstereceğiz. Flickr&#8217;dakine benzer bir görüntü olması  için iki fazladan &lt;span&gt; ekleyeceğiz, bunları kaldırada biliriz. </p>
<p>HTML kodumuzu yazalım</p>
<pre class="brush: xml; title: ; notranslate">
&lt;ul id=&quot;foto&quot;&gt;
&lt;li class=&quot;dexter&quot;&gt;&lt;a href=&quot;http://www.sho.com/site/dexter/&quot;&gt;&lt;span class=&quot;dis&quot;&gt;&lt;span class=&quot;ic&quot;&gt;&lt;span class=&quot;bilgi&quot;&gt;Dexter&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li class=&quot;html&quot;&gt;&lt;a href=&quot;http://www.w3.org/TR/REC-html40/&quot;&gt;&lt;span class=&quot;dis&quot;&gt;&lt;span class=&quot;ic&quot;&gt;&lt;span class=&quot;bilgi&quot;&gt;HTML 4&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</pre>
<p>CSS kodunu kademe kademe açıklayarak yazarsak;</p>
<p>Burada resmimizi ul elemanı ardalan resmi olarak atadık. Bu teknikde  önemli olan dıştaki kapsayıcı elemanı(ul#foto) göreceli konumlandırıp,  fare üzerine geldiğinde resmin etrafını çizip bilgisini göstermek. Bu  resimde üzerini çizdiğimiz ve bilgisini gösterdiğimiz elemanlarada(&lt;li  class=&quot;dexter&quot;&gt; ve &lt;li class=&quot;html&quot;&gt;) mutlak konumlandırma ile  tanımlayıp resmin üzerinde istediğimiz konuma yerleştiriyoruz.</p>
<pre class="brush: css; title: ; notranslate">
ul#foto{
width: 500px;
height: 331px;
position: relative;
background: url(images/dexter.jpg) no-repeat;
margin: 0;
padding: 0;
list-style: none;
}
</pre>
<p>Aşağıdaki kodda her bir haritalanacak nesne bir link olduğu için  her birine tek tek atamaktansa genel bir tanım ile tüm linkleri mutlak  konumlandırıyoruz ve kenar çizgisini tanımlıyoruz.</p>
<pre class="brush: css; title: ; notranslate">
ul#foto a {
position: absolute;
color: #000;
text-decoration: none;
border: 1px solid transparent;
}
</pre>
<p>Her bir haritalanacak eleman için genişlik yüksek tanımını yapıyor ve kapsayıcı  elemana göre konumunu belirliyoruz. Ayrıca haritalanan elemanların  açıklamaları için konumu tanımı ve görünüm tanımlarını yapıyoruz. </p>
<p>Son iki satır kodlar normal css standart kodlamasının dışında,  Flickr&#8217;daki gibi bilgi kutusunun köşelerini yuvarlamak için tanımlar yaptık.  Firefox için -moz-border-radius: 3px; Safari ve Google Chrome için   -webkit-border-radius: 3px; tanımlarını yaptık. Internet Explorer kullanıcıları için şimdilik bir çözüm yok. </p>
<pre class="brush: css; title: ; notranslate">
ul#foto .dexter a {
width: 110px;
height: 175px;
top: 25px;
left: 60px;
}
ul#foto .html a {
width: 50px;
height: 80px;
top: 195px;
left: 408px;
}
ul#foto a .bilgi {
position: absolute;
bottom: -25px;
width: 100%;
padding: 2px;
background-color:#ffc;
text-align: center;
left: -30000px;
font:11px Arial, Helvetica, sans-serif;
margin-left: -60px;
-moz-border-radius: 3px;
-webkit-border-radius: 3px;
}
</pre>
<p>Amacımız Flickr tipi bir resim haritası oluşturmak olduğu için, iki  kenar çizgisi tanımı yapmak için iki adet &lt;span&gt; etiketi yazdık  ve bunlara dış(.dis) ve iç(.ic) sınıfları tanımladık. Tanımladığımız  her bir dis ve ic nesnesine haritaladığımız nesnelerin genişlik ve  yükseklerinin 2px daha düşük değerlerini vererek üst üste binmelerini  önledik ve görünümünü düzenlemiş olduk. Eğer istersek bu &lt;span&gt; etiketlerini kaldırabiliriz, daha sade bir görünüm olur. </p>
<pre class="brush: css; title: ; notranslate">
ul#foto a .dis, ul#foto a .ic {
display: block;
}
ul#foto .dexter a .dis {
width: 108px;
height: 173px;
}
ul#foto .html a .dis {
width: 48px;
height: 78px;
}
ul#foto .dexter a .ic {
width: 106px;
height: 171px;
}
ul#foto .html a .ic {
width: 46px;
height: 76px;
}
</pre>
<p>Fare  haritalanan alanların üzerine gelince çıkacak bilgilendirme alanının  yerini belirliyoruz. &#8211; 3000px ile görüntüden çıkardığımız bilgi alanını  görünür yapıp istediğimiz yere yerleştirdik.</p>
<pre class="brush: css; title: ; notranslate">ul#foto a:hover .bilgi { left: 60px; } </pre>
<p>Tüm resmin üzerine gelindiğinde ve haritalanan alanların üzerine  gelindiğinde kenar çizgi renklerini değiştirerek farklı bir görünüm kazandırıyoruz.</p>
<pre class="brush: css; title: ; notranslate">
ul#foto a:hover {
border-color: #d4d82d;
}
ul#foto:hover a .dis, ul#foto a:hover .dis {
border: 1px solid #000;
}
ul#foto:hover a .ic, ul#foto a:hover .ic {
border: 1px solid #fff;
}
</pre>
<p>Sonuçta  görsel ve işlevsel olarak çok güzel bir uygulama elde ettik.  Uygulanabileceği yerler kısıtlıda olsa, uygulandığın da güzel bir  görünüm ve işlevsel bir sonuç elde edeceğimiz bu uygulama bizi birçok  avantaj sağlar.</p>
<p>Örnek uygulamayı görmek için <a href="http://www.fatihhayrioglu.com/dokumanlar/flickr-rollovers.htm">tıklayınız</a></p>
<h3>Kaynaklar</h3>
<ul>
<li><a title="CSS Mastery: Advanced Web Standards Solutions - Andy Budd" href="http://www.cssmastery.com/" >CSS Mastery: Advanced Web Standards Solutions &#8211; Andy Budd</a>
  </li>
<li><a title="http://www.frankmanno.com/ideas/css-imagemap/" href="http://www.frankmanno.com/ideas/css-imagemap/" >http://www.frankmanno.com/ideas/css-imagemap/</a></li>
<li><a title="http://www.frankmanno.com/ideas/css-imagemap-redux/" href="http://www.frankmanno.com/ideas/css-imagemap-redux/" >http://www.frankmanno.com/ideas/css-imagemap-redux/</a></li>
<li><a title="http://www.cssplay.co.uk/menu/imap.html" href="http://www.cssplay.co.uk/menu/imap.html" >http://www.cssplay.co.uk/menu/imap.html</a></li>
<li><a title="http://maxxu.casacolor.ro/css-exp/css-image-maps.html" href="http://maxxu.casacolor.ro/css-exp/css-image-maps.html" >http://maxxu.casacolor.ro/css-exp/css-image-maps.html</a></li>
<li><a title="http://www.marketingtechblog.com/2007/10/02/css-image-map/" href="http://www.marketingtechblog.com/2007/10/02/css-image-map/" >http://www.marketingtechblog.com/2007/10/02/css-image-map/</a></li>
<li><a title="http://www.frederikvig.com/temp.html" href="http://www.frederikvig.com/temp.html" >http://www.frederikvig.com/temp.html</a> </li>
<li><a title="http://www.cssplay.co.uk/menu/old_master.html" href="http://www.cssplay.co.uk/menu/old_master.html" >http://www.cssplay.co.uk/menu/old_master.html</a>
  </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.fatihhayrioglu.com/css-ile-resim-haritalariimagemap-yapmak/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
	</channel>
</rss>

