CSS ile Ziyaret Edilen Sayfa Bağlantılarına Şekil Vermek
Sözde sınıf ve elementler makalesinde değindiğim bir konu idi bu. Ancak genelde bu özelliği tasarımcılar ve kod yazarları atlıyor. Şimdiye kadar ki hiç bir projemde kullanma gereği duymadım açıkçası. Ama bence kullanılabilirlik açısından önemli bir özellik. Bundan sonraki projelerimde kullanmayı düşünüyorum.
http://www.evalotta.net/ sitedeki uygulamayı görünce çok hoş bir şey olduğu aklıma geldi. Bende bu konuda bir şeyler yazmalıyım diye not ettim. Nasip bu güneymiş.
İnternet tarayıcıları daha önce ziyaret ettiğimiz sayfa bağlantılarını ön belleğinde tutar. Biz ön belleği silmediğimiz müddetçe hafızasında kalır. CSS bize daha önce ziyaret ettiğimiz sayfa bağlantılarının stilini değiştirme imkanı sunar, böylece kullanıcıya sen burayı daha önce ziyaret etmiştin bilgisini verebiliriz. İnternet tarayıcıları ziyaret edilmiş bağlantılara kendileri standart bir stil atarlar. Mesela Firefox altını çizili ve mor renkli yapıyor.

Tarayıcılar bize bu ayrımı gösterir, tabi biz bağlantı tanımları değiştirmediğimiz müddetçe. Biz bağlantıya genel tanım yaptığımızda bu özellik bir bakıma göz ardı edilecektir. Bir çok projede bu tanımlamayı yazpıyoruz.
a{color:#f00;}

Yukarıdaki tanımlama tüm bağlantı tipleri için genel bir tanımdır ve ziyaret edilmiş sayfa stilinide belirler.
Bizim amacımız ziyaret edilmiş bağlantıları farklı stil ile belirterek ayrımı göstermek. Bir çok yerde yazı üstünü çizerek belirlenir.
a:visited { text-decoration: line-through; }

Örneği görmek için tıklayınız.
Diğer bir yöntemde ardalan resmi koymak. Bu yöntem ile hoş bir görüntüde sağlamış oluyoruz. http://www.evalotta.net/ sitesi buna çok güzel bir örnek.
a:visited {
padding-right:20px;
background:url(images/ziyaret_edilmis_baglanti.gif) right top no-repeat;
color:#666;
text-decoration:none;
}

Örneği görmek için tıklayınız.
Benzer yöntemlerle birçok alternatif oluşturulabilir. Ayrıca :before ve :after ile oluşturulan örnekler var ama hala ie6 hayatta olduğu için ve :before ve :after özelliklerini desteklemediği için pek kullanma taraftarı değilim.
Kaynak
- http://9lessons.blogspot.com/2009/06/css-visited-tips-strike-out.html
- http://webdesign.maratz.com/lab/visited_links_styling/
- http://www.webmonkey.com/tutorial/Control_Visited_Link_Colors_With_CSS
- http://css-tricks.com/put-checkmarks-next-to-visted-links-with-pure-css/
- http://www.westciv.com/style_master/house/tutorials/quick/visited_links/index.html
- http://onemarco.com/2007/06/06/better-visited-links/
- http://www.sitepoint.com/blogs/2004/05/23/getting-creative-with-visited-links/
- http://www.useit.com/alertbox/20040510.html
ben de bu sorunun çözümünü arıyordum. a:active işe yaramıyor. hover'da farklı, aktif sayfada farklı bir background resmi çıksın diye çabalıyorum ama nafile. nasıl çözeriz bu sorunu?
Sorumun cevabını buldum nihayet. Bulduğum adres:
http://www.wickham43.net/highlightservices.php
Neden daha önce aklıma gelmedi bilmiyorum. Benzer sorun yaşayanlar için bilgi vereyim. İlgili sayfada kalmasını istediğimiz görünüm için current şeklinde bir class tanımlıyoruz. Benim kodlar şöyle:
#menu li a:hover{
color: #FFF;
background: url(../images/menuHover.jpg) no-repeat center top;
}
#menu li a.current:link, #menu li a.current:visited {
color: #FFF;
background: url(../images/menuActive.jpg) no-repeat center top;
}
Bunu her sayfada aktif olmasını istediğimiz menü öğesine class olarak atıyoruz:
Hepsi bu :)
Not: Diğer
bilgi için teşekkürler,
ardalan resmi olarak kullanıldığında ziyaret edilen tüm linklerde resim çıkıyor, Evalotta sitesindeki gibi sadece girilen sayfada çıkması için css ile yapılabilcek bir kod varmı, her butona a:active eklemek dışında.?
iyi çalışmalar
a:visited a eklerseniz tüm linklerde değil sadece ziyaret edilende çıkar. Tabi tüm linkleri daha önce girdi iseniz o başka.
evet tüm linklere tıkladığım zaman hepsinin sağında ikon çıkıyor. Evalotta sitesindeki gibi sadece ziyaret edilen sayfaya ait linkte ikon çıkmasını css ile yapamıyoruz galiba (a:active kullanmadan) yinede verdiğiniz bilgiler için teşekkürler
Ardalan resimleri kullandığımızda linklerin farklı zeminler üzerinde durma ihtimalini göz önüne alırsak eğer saydam png kullanmamız gerekecektir. Bu seferde yine ie6 sorunu çıkıyor ortaya.
Ie 6 saydam png yönetemiyle çözebiliyoruz gerçi ama ben saydam png kullandığım zaman ie6 yı dikkate almıyorum artık :)
Güzel bir çalışma olmuş. eline sağlık.
teşekkürler :)
bencede ok süper
Arka plana OK işareti koymak harika duruyor. Bunu denemeliyim. :) Teşekkürler.