Browse Month

Mart 2010

CSS ile Sayfadaki Seçim Renklerini Değiştirmek

CSS sayesinde web sayfalarında istediğimiz düzen ve dizaynları yapmamız mümkün oluyor ki bunu zaten biliyorsunuz. Bunlardan biri de sayfamızdaki seçilen bölgelerin seçim renklerini değiştirebilmemiz. Örnek olarak biliyorsunuz ki sayfada bir resmi ya da kopyalamak için bir yazıyı seçtiğimizde seçtiğimiz eleman kolay fark edebilmemiz için farklı bir renkte vurgulanır. Bu renk sistemimizde geçerli olan renk neyse odur. Yani işletim sisteminde seçilen öğeyi vurgulayan renktir. Oysa biz sayfamızın temasına göre ya da keyfimize göre bu rengi değiştirebilir ve sayfamızı daha da şık bir hale getirebiliriz. Şimdi CSS’de bunu nasıl yaptığımızı görelim.

Unutmadan söyleyeyim bu kodlar maalesef Internet Explorer ile çalışmıyor. Chrome, firefox ve Safari gibi diğer tarayıcılarda soron çıkmıyor.

Şimdi gelelim kodumuza. CSS kodumuza aşağıdaki satırları ekleyelim.


::selection {
	background:#7021d2;
	color:#fff;
}

Burada selection ifadesiyle seçilen öğelere ilişkin değerleri vereceğimizi belirtiyoruz. background diyerek seçilen öğelerin hangi renk ile belirtileceğini söylüyoruz. Eğer seçilen eleman bir resim ise bu renk ile belirtilecek; yazı ise arkası bu renk ile doldurulacaktır. color ile seçilen öğenin kendisinin hangi renge dönüşeceğini belirliyoruz. Bu duruma şöyle örnek verirsem daha iyi anlayacağınızı düşünüyorum. Direk windows üzerinden gidersek background, seçildikten sonra öğelerin vurgulandığı mavi rengi; color ise seçilen siyah yazıların mavi içinde kolay okunmasını sağlamak için dönüştükleri beyaz rengin değerini tutuyor.

Kodu böyle yazarsak Mozilla’da direk çalışmayacaktır. Explorer’da zaten çalışmadığını söylemiştik. Ancak kodumuzu Mozilla üzerinde çalıştırmanın çok kolay bir yolu var. Bunun için kodu aşağıdaki şekilde yazmamız yeterli.


::-moz-selection{
	background:#7021d2;
	color:#fff;
}

::selection {
	background:#7021d2;
	color:#fff;
}

Gördüğünüz gibi yaptığımız tek şey yazdığımız selection kodunun aynısını bir kere de -moz - selection ile yazmak. Tabi isterseniz mozilla için yazdığınızda renkleri değiştirebilirsiniz. Böylece sayfanız her tarayıcıda aynı seçim rengi yerine farklı alternatif sunmuş olur.

Yapabileceklerimiz sadece bu kadar da değil istersek HTML tag belirterek hangi öğelerin hangi seçim rengi ile vurgulanacağını da belirleyebiliriz. Aşağıdaki koda bakalım.


a::-moz-selection{
	background:#a4ff21;
	color:#000;
}

a::selection {
	background:#a4ff21;
	color:#000;
}

::-moz-selection{
	background:#7021d2;
	color:#fff;
}

::selection {
	background:#7021d2;
	color:#fff;
}

code::-moz-selection {
	background: #333333;
}

code::selection {
	background: #333333;
}

Yukarıdaki koda baktığımızda selectin ve -moz - selection ifadelerini bir kere yalın, bir kere başlarında a ile ve bir kerede başlarında code ile yazdığımı görüyorsunuz. Böylece hem normal yazıların seçim rengini hem de linklerin ve kodların renklerini ayrı ayrı tanımlayabiliyorum. Tabi listeyi istediğimiz gibi genişletebiliriz. Örnek olarak paragraf, başlık ve tabloların seçim renklerini de birbirlerinden farklı şekilde ayarlayabilirdik.

Sonucu görmek için Explorer dışında bir tarayıcıdan bu sayfayı görüntüleyerek Ctrl+A tuşlarına basarak sayfanın tamamını seçebilirsiniz. Sonuç aşağıdaki gibi olacaktır.

CSS farklı seçim renkleri

Gördüğünüz gibi yazılar mor, linkler yeşil ve kodlar da siyah renkle vurgulanıyor

Bir kere daha hatırlatıyorum bu özellik şu an için Internet Explorer tarafından desteklenmiyor.

Şimdilik bu kadar hoşçakalın.

Photoshop’ta Resimin Dosya Boyutunu Küçültmek

Photoshop, gerek grafik tasarlamak için gerekse fotoğraf düzenlemek için çoğumuzun başvurduğu programların başında gelir. Ancak bazen oluşturduğumuz dosyanın boyutu beklediğimizden fazla olabilir. Pek çok alanda sıkıntı yaratabilecek bu durumda eğer dosyayı e-posta olarak göndereceksek resmi zipleyerek işin içinden çıkabiliyoruz ancak resmi bir web sayfasına koyacaksak bu durum biraz başımızı ağrıtabilir. Çünkü web sayfasında olması gerekenden fazla yer kaplayan bir resim hem sizin bant genişliğinizden yer hem de ziyaretçilerinizin sabrını zorlayabilir.

Bu durumun önüne geçmek için dosyalarımızı her zaman kullandığımız Save as yerine Photoshop’ta özellikle bu durumlar için geliştirilmiş Save for Web & Devices özelliğini kullanıyoruz. Tabi bu benim kullandığım CS3 sürümünde bu isimle anılıyor. Bu özelliğin adı her versiyonda biraz farklı olabiliyor. Örneğin eski sürümlerde Save for Web denirken yanlış hatırlamıyorsam CS4 sürümünde Save for Web & Mobil Devices olarak geçiyor.

Neyse gelelim bu özelliği nasıl kullanacağımıza. Resim ya da çalışmamızı oluşturduktan sonra Alt+Shift+Ctrl+S tuş kombinasyonunu kullanarak ya da File menüsü altındaki Save for Web & Devices… seçeneğine tıklıyoruz.

Save for Web & Devices...

İlgili ayarları yapacağımız pencere aşağıdaki gibi karşımıza çıkacaktır.

Save for Web & Devices penceresi

Açılan pencere ilk bakışta size biraz karışık gelebilir ancak kullanmak aslında çok basittir. Biz burada çok profesyonel değil de işimizi yine de kaliteli bir şekilde yapacak kadarına göz atacağız. Bizim buradaki işimiz aşağıdaki resimde gördüğünüz alanla ilgili.

ilgili bölüm

Şimdi aşağıdaki resimdeki maddelere göre özelliğin nasıl kullanıldığını kısaca açıklayalım.

maddeler

1- Burada dosyayı kaydetmek için oluşturulmuş hazır şablonları seçebilirsiniz. Eğer hiç bir ayarla uğraşmak istemiyorsanız. direk buradan seçiminizi yaparak Save düğmesine basarak kaydedebilirsiniz.

2- Hazır şablonları kullanmadan dosyayı hangi formatta kaydetmek istediğinizi buradan seçiyorsunuz. Eğer resminiz şeffaf alanlar içeriyorsa gif; çekilmiş bir fotoğraf ise jpg olarak kaydetmenizi öneririm.

3- Kaydedilecek dosyanın sıkıştırma kalitesini seçiyoruz.

4- İstersek sıkıştırma kalitesini buradan daha hassas bir şekilde yapabiliriz.

5- Burası isteğe bağlı dosyamıza bulanıklık efekti vermemizi sağlıyor.

Tercih ettiğimiz ayarları yaptıktan sonra Save butonuna basarak kaydetme penceresine ulaşıyoruz.

Hangi resimde hangi seçeneklerin daha iyi sonuç verdiğini deneme yanılma yoluyla ve zamanla uzmanlaştıkça daha iyi öğreneceksiniz. Bu özellik sayesinde bazen resimlerin boyutunun on kat bile küçülebildiğini göreceksiniz. Umarım işinize yarar bir yazı olmuştur. Şimdilik hoşçakalın.

CSS’de “!important” Kullanımı

Merhaba arkadaşlar. CSS ile ilgili bu yazımda size !important özelliğinden bahsetmek istiyorum. !important ile yazdığımız stil özelliklerini korumaya alabiliyoruz. Nasıl mı? CSS ile yazılan kodlarda her zaman en son yazılan bir tanım daha önceki bir tanım ile çakışırsa en son yazılanın dediği olur. Yani siz bir yazının rengini kırmızı yapıp daha sonra yazdığınız bu kodu unutarak o yazının rengini mavi yapan bir CSS kodu yazarsanız sonuçta o yazı mavi renkte olacaktır.

CSS’de en alttaki kod çakışma halinde üstteki kodun özelliklerini değiştirecektir. Ya da iki farklı CSS kodu import ettiğinizde ikisinde de aynı değerler varsa son import edilen geçerli olacaktır. Örnek olarak aşağıdaki kodu ele alalım.

 <link rel="stylesheet" href="ornek.css">
<link rel="stylesheet" href="ornek2.css">

Yukarıdaki gibi sayfamıza iki farklı CSS çağırdığımızda ve iki dosyada da farklı arkaplan renklerinin tanımlı olduğunu düşündüğümüzde ornek2.css dosyasındakilerinin geçerli olacağını bilmeliyiz.

CSS’deki bu hiyerarşiyi gördükten sonra şimdi !important özelliğini daha iyi anlayacağımızı düşünüyorum. Important İngilizce’de önemli anlamına geliyor. CSS terminolojisinde de !important önemli demek. Yani bu kelimeyi kullandığınız bir özelliğe kendinden sonra gelen bir özellik etki edemiyor; bir başka deyişle üzerine yazamıyor.

Daha fazla uzatmadan konuyu örnekle açıklamak daha doğru olacak sanırım. Şimdi paragraf için aşağıdaki gibi bir stil yazalım. Bildiğiniz gibi CSS ile yeni stiller oluşturabildiğimiz gibi var olan HTML etiketlerini de yeniden düzenleyebiliyorduk. Bu konudan şu yazımda bahsetmiştim

p {
	color: #333399;
	text-align:right;
	text-decoration:underline;
	font-family: Arial, Helvetica, sans-serif;
}

Yukarıdaki kodda bir paragraf stili oluşturduk ve bu paragrafın rengini, yazının nasıl hizalanacağını, yazıların altlarının çizili olacağını ve hangi fontu kullanacağını yazdık. Artık bu stili sayfamıza çağırdığımızda <p>   </p> arasındaki bütün yazılanlar yukarıdaki stilimize göre şekillenecekler. Örnek olarak aşağıdaki kodu html olarak kaydedin ve çalıştırın.

<style type="text/css">
<!--
p {
	color: #333399;
	text-align:righ;
	text-decoration:underline;
	font-family: Arial, Helvetica, sans-serif;
}

-->
</style>

<p>Cahit Arf, cebir konusundaki çalışmalarıyla dünyaca ün kazanmıştır. Sentetik geometri problemlerinin cetvel ve pergel yardımıyla çözülebilirliği konusundaki yaptığı çalışmalar, cisimlerin kuadratik formlarının sınıflandırılmasında ortaya çıkan değişmezlere ilişkin &quot;Arf değişmezi&quot; ve &quot;Arf halkaları&quot; gibi literatürde adıyla anılan çalışmaları matematik&quot; gibi kavramların yanısıra &quot;Hasse-Arf Teoremi&quot; ile anılan teoremler kazandırmıştır. Cahit Arf hep sviyeli bir şekilde çalışmalarını devam ettirmiştir...</p>

Görüleceği gibi yazımız istediğimiz stilde ekrana gelecektir.

Daha önce şu yazımda anlattığım gibi bunlara ek olarak bir tane de class yazıyorum ve CSS aşağıdaki gibi oluyor.

p {
	color: #333399;
	text-align:right;
	text-decoration:underline;
	font-family: Arial, Helvetica, sans-serif;
}

p.deneme {
	color: #CC6600;
	text-align:left;
	text-decoration:none;
	font-family:"Times New Roman", Times, serif;
}

Burada ek olarak daha önce oluşturduğumuz paragraf stili için bir sınıf yazdık. üst taraftaki yazdığımız her paragraf için geçerli olacak ancak alt taraftaki deneme sınıfı paragraflar için, gerektiğinde geçerli olacak yani sadece biz istersek geçerli olacak. Neyse detaylara fazla takılmayalım çünkü bunları daha önceki yazılarımda anlatabildiğimi sanıyorum. Şimdi aşağıdaki gibi bir html sayfası oluşturalım ve bunu tarayıcımızda çalıştıralım.

<style type="text/css">
<!--
p {
	color: #333399;
	text-align:right;
	text-decoration:underline;
	font-family: Arial, Helvetica, sans-serif;
}

p.deneme {
	color: #CC6600;
	text-align:left;
	text-decoration:none;
	font-family:"Times New Roman", Times, serif;
}
-->
</style>

<p>Cahit Arf, cebir konusundaki çalışmalarıyla dünyaca ün kazanmıştır. Sentetik geometri problemlerinin cetvel ve pergel yardımıyla çözülebilirliği konusundaki yaptığı çalışmalar, cisimlerin kuadratik formlarının sınıflandırılmasında ortaya çıkan değişmezlere ilişkin &quot;Arf değişmezi&quot; ve &quot;Arf halkaları&quot; gibi literatürde adıyla anılan çalışmaları matematik&quot; gibi kavramların yanısıra &quot;Hasse-Arf Teoremi&quot; ile anılan teoremler kazandırmıştır. Cahit Arf hep sviyeli bir şekilde çalışmalarını devam ettirmiştir...</p>

<p class="deneme">Cahit Arf, cebir konusundaki çalışmalarıyla dünyaca ün kazanmıştır. Sentetik geometri problemlerinin cetvel ve pergel yardımıyla çözülebilirliği konusundaki yaptığı çalışmalar, cisimlerin kuadratik formlarının sınıflandırılmasında ortaya çıkan değişmezlere ilişkin &quot;Arf değişmezi&quot; ve &quot;Arf halkaları&quot; gibi literatürde adıyla anılan çalışmaları matematik&quot; gibi kavramların yanısıra &quot;Hasse-Arf Teoremi&quot; ile anılan teoremler kazandırmıştır. Cahit Arf hep sviyeli bir şekilde çalışmalarını devam ettirmiştir...</p>

Şimdi burada her iki paragrafta da aynı şeyler yazıyor. Sadece biri normal <p> etiketleri arasında, ki biz bunu yeniden düzenledik diğeri ise paragraf için oluşturduğumuz deneme sınıfını kullanıyor. deneme sınıfında paragraf için daha önceden kullandığımız renk ve yazı hizalama özelliklerini tekrar kullandık ve eskilerinin üzerine yazmış olduk. Size göre bu çok doğal olabilir. Zaten öyle de ancak deneme sınıfını paragraf özelliklerinin altında açmış olduk yani özelliklerinin temeli paragraf için yazdıklarımızdan almakta. Eğer burada deneme sınıfı için bir renk belirtmemiş olsaydık bu sınıf paragraf için yazdığımız rengi direk alacaktı. Yani paragrafta tanımlanan ve deneme sınıfı içinde yazılmayan her şey üst sınıfta yaılmış olduğu için doğrudan deneme sınıfı içinde geçerli olacaktı.

Peki ya biz ne olursa olsun sonradan yazılan bir özelliğin bazı özelliklerimizi değiştirmesini istemiyorsak. O zaman bu yazının yazılma amacına geliyoruz yani “!important” kullanımına. Yazdığımız CSS özellik ve değerinin sonuna noktalı virgülden önce !important eklediğimizde sonradan gelen ve çakışma yaratan özellik göz ardı edilecek ve stilimizin üzerine yazamayacaktır.

Bu özellik ile birden fazla kişinin çalıştığı stil dosyası çalışmalarında karışıklıkların önüne geçebilirsiniz. Yaptığınız web sitesi bu örnekteki kadar basit olmayabilir ve dışardan sayfanıza birden fazla CSS ithal ediyor olabilirsiniz. !import kullanarak sonradan gelen bu CSS dosyalarının ana şablonunuzu bozmasının önüne geçebilirsiniz.

Şimdi bu doğrultuda stilimizi aşağıdaki örnekte olduğu gibi değiştirelim ve sonucu hep beraber görelim.

<style type="text/css">
<!--
p {
	color: #333399;
	text-align:right !important;
	text-decoration:underline !important;
	font-family: Arial, Helvetica, sans-serif !important;
}

p.deneme {
	color: #CC6600;
	text-align:left !important;
	text-decoration:none;
	font-family:"Times New Roman", Times, serif;
}
-->
</style>

<p>Cahit Arf, cebir konusundaki çalışmalarıyla dünyaca ün kazanmıştır. Sentetik geometri problemlerinin cetvel ve pergel yardımıyla çözülebilirliği konusundaki yaptığı çalışmalar, cisimlerin kuadratik formlarının sınıflandırılmasında ortaya çıkan değişmezlere ilişkin &quot;Arf değişmezi&quot; ve &quot;Arf halkaları&quot; gibi literatürde adıyla anılan çalışmaları matematik&quot; gibi kavramların yanısıra &quot;Hasse-Arf Teoremi&quot; ile anılan teoremler kazandırmıştır. Cahit Arf hep sviyeli bir şekilde çalışmalarını devam ettirmiştir...</p>

<p class="deneme">Cahit Arf, cebir konusundaki çalışmalarıyla dünyaca ün kazanmıştır. Sentetik geometri problemlerinin cetvel ve pergel yardımıyla çözülebilirliği konusundaki yaptığı çalışmalar, cisimlerin kuadratik formlarının sınıflandırılmasında ortaya çıkan değişmezlere ilişkin &quot;Arf değişmezi&quot; ve &quot;Arf halkaları&quot; gibi literatürde adıyla anılan çalışmaları matematik&quot; gibi kavramların yanısıra &quot;Hasse-Arf Teoremi&quot; ile anılan teoremler kazandırmıştır. Cahit Arf hep sviyeli bir şekilde çalışmalarını devam ettirmiştir...</p>

Şimdi burada ne yaptık? Değişmesini istemediğimiz özellikler !important ekledik ve sonuç aşağıdaki gibi oldu.

CSS

Şimdi örnek üzerinden ne yaptığımıza bir bakalım. deneme sınıfı color özelliğini paragraf stilinden almakla birlikte kendinde de bu özellik tanımlı olduğu için üzerine yazarak farklı bir renk olmuştur yani kendisine verilen rengi kullanmıştır.

text-align özelliği paragrafta sağ olarak belirlenmiş ve !important eklenerek üzerine yazılması engellenmek istenmiştir ancak deneme sınıfında da text-align özelliği !important olarak ayarlandığı için üzerine yazabilmiştir ve yazı sola yaslanmıştır.

Eğer çakışan özelliklerin her ikisi de !impaortant olarak belirlenmiş ise normalde olduğu gibi en son girilen değer diğerinin üzerine yazar

text-decoration ve font-family özellikleri paragrafta !important olarak belirlendiği için sonradan yazılan deneme sınıfındaki özelliklerle çakışmasına ve normal şartlarda deneme sınıfındaki değerlerin paragraf stilindeki değerlerin üzerine yazması gerekirken bu gerçekleşememiştir.

Umarım yazı faydalı olur. Sonraki yazılarda görüşmek üzere hoşçakalın.