CSS KODLARIYLA RESİMLERİ BÜYÜTME

gitarisyen

Aşk şarkıları söylemeyi bıraktığımız gün her şeyimizi yitirdik biz. İşte o yüzden hep aşk şarkıları söylüyorum.

 

CSS KODLARIYLA

RESİMLERİ BÜYÜTME

 

Sitemde bazı sayfalarda resimlerin üzerine mouse ile geldiğinizde (ya da siteme mobil cihazlardan giriyorsanız parmağınızla dokunduğunuzda) bazı resimlerin büyüdüğünü görmüşsünüzdür.

Örneğin (aşağıdaki resimde olduğu gibi) resmin doğrudan (sağa / sola kaymadan) büyüyüp genişlediğini (ve büyürken sağ ve alt kenarlarında gölge oluştuğunu) gözlerken;

Bazen de -özellikle sitemi mobil cihazlardan takip ediyorsanız- (aşağıdaki resimde olduğu gibi) resmin biraz sağa ve aşağı kayarak büyüyüp genişlediğine (ve büyürken sağ ve alt kenarlarında gölge oluştuğuna) dikkat etmiş olabilirsiniz:

İşte resimler üzerine uyguladığımız bu efektleri "CSS" (Cascading Style Sheets / Basamaklı Stil Şablonları ya da Basamaklı Biçim Sayfaları) ile yapıyoruz.

İsterseniz gelin, bunun nasıl yapıldığını görelim:

Öncelikle (içine CSS kodlarını yazacağımız) CSS uzantılı dosyamızı oluşturuyoruz. Bunun için Not Defteri'ni (Notepad'i) açıp (içine henüz bir şey yazmadan) dosyamıza bir isim verip Not Defteri'nin ".txt" olan uzantısını da "css" yaparak kaydediyoruz. Genelde CSS uzantılı dosyalara "style" ismi veriliyor ancak siz istediğiniz ismi verebilirsiniz elbette. Benim size göstereceğim örnekte ben CSS uzantılı dosyama "ResimBuyutme" ismini vermeyi tercih ettim. Sonuçta "ResimBuyutme.css" isimli (ve css uzantılı) içi boş (içine henüz herhangi bir CSS kodu yazmadığım) bir dosyam oldu. Bu dosyanın içine yazacağımız CSS kodlarıyla resimleri büyüteceğimizden html belgemizin (sayfamızın) içine de bu dosyayı çağırmamız gerekiyor. Bunun için gerekli olan html kodumuzu aşağıda veriyorum. Bu kodu html belgemizde "<head> <head>" etiketleri (tagleri) arasına yazıyoruz:

HTML Kodu
<link type="text/css"
rel="stylesheet"
href="
ResimBuyutme.css">

Yukarıdaki kodla "ResimBuyutme.css" isimli CSS kodlarını yazacağımız dosyayı (ve resimleri büyütmeye yarayacak olan dosyanın içindeki kodları) html sayfamızın içine çağırıyoruz. Böylece "ResimBuyutme.css" isimli dosyamızın içindeki kodlarda hangi değişikliği yaparsak html sayfamızda etkili olacak. (Tabii, bunun için html sayfamızla "ResimBuyutme.css" adlı dosyamızın aynı dizinde (klasörde) olması gerektiğini söylememe gerek yok sanırım. Eğer "ResimBuyutme.css" adlı dosyamız farklı bir dizindeyse o zaman "ResimBuyutme.css" isimli dosyamızın yolunu yukarıdaki html kodlarında ona göre yazıp, yolunu ona göre belirteceğiz.)

Şimdi de "ResimBuyutme.css" adlı dosyamızın içine CSS kodlarını yazalım:

CSS Kodu

.resimbuyutme:hover {
-ms-transform: scale(1.5); /* IE 9 */
-webkit-transform: scale(1.5); /* Safari 3-8 */

transform: scale(1.5);
}

Yukarıdaki kodları biraz açıklamamız gerekirse;

Öncelikle, CSS dosyamızın içine "resimbuyutme" isimli bir "class" (sınıf) ekledik. (Siz başka bir isim de verebilirsiniz.) Resimleri büyüteceğimiz zaman bu sınıfın içindeki kodlardan yararlanarak resim büyütme efektlerini vereceğiz. Bu kodlarda yer alan "hover" özelliği ise, mouse ile resmin üzerine geldiğimizde (ya da mobil cihazlarda resmin üstüne parmağımızla dokunduğumuzda) resme verilecek efektlerin tanımını yapmaya yarıyor. Kodların içinde (köşeli parantezler içinde en başta) yer alan "-ms-transform: scale(1.5); /* IE 9 */" ve "-webkit-transform: scale(1.5); /* Safari 3-8 */" ifadeleri ise CSS kodlarıyla oluşacak efektlerin farklı web tarayıcılarında doğru görüntülenmesini sağlayacak.

Bu kodlardaki en önemli ifade ise "transform: scale(1.5);" ifadesi. "Transform" özelliği ile resmi istediğimiz boyutta büyütebileceğiz. Bu yüzden parantez içine istediğiniz bir sayıyı verebilirsiniz. Parantez içine "1" yazarsanız resmin boyutu aynı kalacaktır; ama örneğin "1.2" yazarsanız resim "1.2" boyutunda ya da "2" yazarsanız iki katı boyutunda büyüyecektir. Ben parantez içine "1.5" yazdım. Böylece sayfamda bulunan ve büyütmek istediğim resim, üzerine mouse ile geldiğimizde (ya da mobil cihazlarda resmin üstüne parmağımızla dokunduğumuzda) "1.5" kat oranında büyüyecek.

Artık elimizde html belgemizin içine  <head><head> etiketleri arasına yazdığımız ve CSS kodlarını çağırdığımız bir HTML koduyla, CSS kodlarını yazarak resim büyütmek için yararlanacağımız özellikleri tanıttığımız "ResimBuyutme.css" adlı bir CSS dosyamız var. Ancak bu şekilde html belgemize bir resim yerleştirdiğimiz zaman sadece bu kodların olması hiçbir işimize yaramayacak ve resim büyümeyecektir. Resmin büyümesi (yani CSS kodlarının işe yaraması) için büyütmek istediğimiz resme de bir "class" (sınıf) atamamız gerekiyor. Hatırlarsanız yukarıda CSS dosyamızın içinde "resimbuyutme" isimli bir "class" tanımlamıştık. İşte büyütmek istediğimiz resme de bu "class"ı atayacağız. (Bu arada örnek olarak kullanacağım resme "ornekresim" adını verdim. Bu "ornekresim" adını verdiğim resmi html belgemize ekledikten sonra resimle ilgili kodları yazacağız.) Bunun için resmimizin html kodunu şu şekilde oluşturmamız gerekiyor:

HTML Kodu
<img class="resimbuyutme"
border="2"
src="ornekresim"
width="400" height="266">

Yukarıdaki kodda "img class" etiketiyle "resimbuyutme" adlı "class"ı resmimize atayarak "border" (kenar çizgisi) kalınlığını "2" yaptık ve (resmimizin html belgemizle aynı dizinde olduğunu düşünerek) "src=ornekresim" yazdık. Resmimizin orijinal (yani normalde html belgemizde görülen) boyutunu da genişliği (width) "400" ve yüksekliği (height) "266" olarak ayarladık.

Şimdi isterseniz örnek olarak seçtiğimiz bir resim üzerinde bu kodların uygulamasını görelim:

Yukarıdaki örnekte de gördüğünüz gibi resmin üstüne geldiğinizde resim aniden büyüyor. Yani bir yumuşama ya da yavaş büyüme efekti yok. Bunun için "ResimBuyutme.css" adlı dosyamızın içine resmin yavaşça büyümesini sağlayacak bir CSS kodu daha eklememiz gerekiyor. Bu kod ifadesi "transition-duration: 0.4s;" olup, bunu eklediğimiz zaman resmimiz bizim belirleyeceğimiz bir sürede (örnekte 0,4 saniyede) yavaşça büyüyecek. Bu ifadeyi de eklediğimiz zaman CSS kodlarımızın son hâli şöyle oluyor:

CSS Kodu
.resimbuyutme:hover {
-ms-transform: scale(1.5); /* IE 9 */
-webkit-transform: scale(1.5); /* Safari 3-8 */
transform: scale(1.5);
transition-duration: 0.4s;
}

Burada "transition-duration" özelliğine "0.4s" değerini vererek, resmimizin 0,4 saniyede yavaşça büyümesini sağladık. Hemen örnek resim üzerinde görelim:

Artık kodlarımızı biraz daha geliştirebiliriz. Şimdi de resmimiz biraz sağa ve aşağı gölgeli olarak ve "blur" efektiyle büyüsün. Bunun için CSS dosyamıza ekleyeceğimiz kodlar şunlar:

CSS Kodu

.resimbuyutme:hover {
-ms-transform: scale(1.5); /* IE 9 */
-webkit-transform: scale(1.5); /* Safari 3-8 */
transform: scale(1.5);
transition-duration: 0.4s;

box-shadow: 8px 8px 8px #888888;
}

Burada da; "box-shadow" özelliğiyle resmimizin sağdan 8 piksel, yukarıdan 8 piksel uzakta olacak şekilde bir gölge oluşturmasını ve gölgenin bulanıklık değerinin de 8 piksel olmasını istediğimizi belirtmiş olduk. "#888888" değeri ise gölgenin olmasını istediğimiz renk değeri. Siz isterseniz buraya "red", "blue" gibi ana renkleri de (başında "#" işareti olmadan) yazabilirsiniz. O zaman da gölgenizin rengi kırmızı, mavi ya da istediğiniz bir ana renk olacaktır. Hemen örnek üzerinde görelim:

İsterseniz şimdi de, resim gölgeli ve yavaş bir şekilde büyürken resmin biraz sağa ve aşağı kaymasını sağlayalım. Bunun için "ResimBuyutme.css" adlı dosyamızın içine ekleyeceğimiz kodlar şunlar olacak:

CSS Kodu

.resimbuyutme:hover {
-ms-transform: scale(1.5); /* IE 9 */
-webkit-transform: scale(1.5); /* Safari 3-8 */
transform: scale(1.5)
translate(40px, 40px);
transition-duration: 0.4s;

box-shadow: 8px 8px 8px #888888;
}

Burada da "translate" özelliğiyle (yukarıdaki kodlarda görülen örnekte) resmi 80 piksel sağa ve 80 piksel de aşağıya kaydırmış bulunuyoruz. (Buradaki ilk rakam resmin sağ tarafına, ikinci rakamsa resmin aşağısına doğru olan uzaklığı gösterir.) Eğer resmi sola ve / veya yukarı kaydırmak istiyorsanız "-" değerini kullanabilirsiniz. Yani örneğin "-80px" yazarsanız resim 80 piksel sola doğru gidecektir.

Bu kodları da resmimize uyguladığımız zaman örneğimiz şu şekilde olacaktır:

Şimdilik benim CSS kodlarıyla resim büyütme konusunda söyleyeceklerim bu kadar. Siz deneme yanılma yöntemiyle ve sürekli test ederek bu konudaki başka püf noktalarını keşfedip daha da geliştirebilirsiniz. Umarım buraya kadar özet olarak verdiğim bilgiler işinize yarar.

 

(14 Ekim 2022)
gitarisyen
(M. Feridun Gülsan)

 

 

Site Tasarımı: gitarisyen © 2011