Advertisement
  1. Web Design
  2. HTML/CSS
  3. HTML

Çabuk İpucu: Tarayıcı kaydırma çubuklarını UI Tasarımlarınızla Uyumlu Hale Getirin

Scroll to top
Read Time: 8 min

() translation by (you can also view the original English article)

Bu ipucu, UI tasarımınızla uyumlu olacak şekilde kaydırma çubuklarının görünümünü ve görünümünü iyileştirmenizi sağlıyacaktır. WebKit tarayıcılarının CSS konusunda ne sunduklarına bir göz atacağız, ayrıca diğer tarayıcılarada hitap etmek için yedek olarak jQuery kullanacağız.

Kısayol mu arıyorsunuz?

Web sitenizin belirli bir bileşenine stil uygulamakla ilgili yardıma ihtiyacınız varsa, profesyonellerden yardım almak daha hızlı olabilir. Envato, her çeşit web bileşenini yeniden stillendirmek veya özelleştirmek konusunda  uzmanlara sahiptir.

Web component services on Envato StudioWeb component services on Envato StudioWeb component services on Envato Studio

Tarayıcılar Hakkında Hızlı Not

Webkit tabanlı tarayıcılar dediğimizde aslında Apple Safari ve Google Chrome'dan bahsediyoruz. Şu anda, genel masaüstü tarayıcı pazarının% 40'ından fazlasını elinde tutuyorlar. Tabletler için, Apple'ın iPad'i hangi şirketin tarayıcısı kullanıldığına bakılmaksızın Webkit'i kullanacaktır. Google'da  Android işletim sistemine Chrome'u ekledi ve Chromebook'larda tabii ki Google Chrome'u temel alıyor.

Bu rakamlara baktığımızda, kaydırma çubuğu stilleme için çok parlak bir gelecek gözüküyor!


1. Adım: Kaydırma çubuklu Basit Bir Sayfa

CSS ile kaydırma çubuklarını stillendirmeye başlamadan önce önce çalışan bir demoya ihtiyacımız var; Kaydırma çubuklu bir sayfa. Kaydırma çubukları şu durumlarda görülebilir:

  • İçeriğin görünür pencere alanından büyük olması (sağda bir kaydırma çubuğu görünecektir).
  • textarea'nın kaydırma çubuklarının görünmesi için yeterli miktarda metin içeriyor olması.
  • Farklı bir sayfa görüntülemek için kullanılan bir iframe.
  • overflow özelliği belirlenmiş bir div veya başka bir blok öğesi

Bu demo için son seçeneği kullanacağiz. İşte benim başlangıç markup'ım:

1
<div class="container">
2
3
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur rhoncus tortor eget orci fringilla non semper magna aliquet. Aliquam convallis elit sem. Proin fringilla fermentum pretium. Phasellus id nisl eu eros convallis eleifend. In hac habitasse platea dictumst. In at felis massa. Maecenas vitae quam non elit porta pellentesque ac in erat. Nullam a ante felis, ullamcorper suscipit felis. Maecenas sit amet nisl mattis ipsum ullamcorper aliquam vitae sed sapien. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.</p>
4
5
    <p>Sed sed tellus dolor, non lobortis felis. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. In eget nisl viverra risus feugiat vulputate tempus et leo. Nam metus nibh, tristique non sodales non, interdum et neque. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed imperdiet aliquet vestibulum. Curabitur viverra tortor augue, a aliquet tellus. Vivamus eu felis vel lorem tincidunt imperdiet. Fusce iaculis luctus convallis. Proin adipiscing malesuada enim, et feugiat tortor sagittis eu. Cras convallis felis eu leo tempus et fermentum urna accumsan. In quis metus at metus ultricies fringilla. Maecenas sed lacus aliquam nibh semper dignissim et quis est.</p>
6
    
7
    <p>Praesent sodales, sapien sit amet congue egestas, sem ligula ornare massa, vitae suscipit felis ligula quis velit. Phasellus lectus massa, sodales ac vulputate ac, pharetra quis lacus. Morbi tempus pretium nisi sed pretium. Pellentesque dictum volutpat vulputate. Fusce dapibus sagittis felis, ut consequat nisi posuere id. Cras elit orci, vehicula in sagittis a, faucibus vitae dui. Nunc non lorem in metus adipiscing adipiscing non a sapien. Sed dictum ultrices nibh in tristique. Nulla dapibus laoreet tincidunt. Sed accumsan erat quis mi luctus porta.</p>
8
9
    <p>Sed mollis justo enim, ut pharetra nunc. Fusce vehicula viverra magna, et fringilla lectus porta quis. Donec eu fermentum mi. Donec congue pellentesque iaculis. Phasellus est leo, cursus eget consectetur in, tristique sit amet tortor. Cras eleifend felis sit amet eros vehicula aliquet. Pellentesque fringilla metus in libero luctus eu condimentum nulla pretium. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam consequat sodales lorem, nec dignissim turpis pharetra et. Nullam commodo hendrerit elementum. Donec porta faucibus ligula non blandit. In ultrices vehicula pretium.</p>
10
11
    <p>Sed ac sagittis sapien. Curabitur varius pellentesque nunc eget molestie. Vivamus in massa arcu, ut auctor tellus. Aliquam convallis lobortis magna, ut posuere odio euismod ac. Vestibulum in enim vitae metus vulputate interdum. Mauris a risus auctor nunc fermentum dapibus. Proin iaculis, nunc ut viverra varius, augue augue porta libero, id viverra nisl elit in mauris. Aenean quis risus ante. Donec bibendum erat a sem vestibulum eu aliquet lectus tincidunt. Vivamus imperdiet congue leo, non ultricies urna sodales sed. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nulla vitae rhoncus dui. Nunc in nisi in ante imperdiet tincidunt sagittis eu ipsum. Aenean orci justo, faucibus placerat tincidunt vitae, vehicula at libero.</p>
12
13
</div>

Sadece çok miktarda anlamsız içeriğe sahip bir div ve bazı sabit boyutları ayarlayan ve yatay ve dikey kaydırma çubuklarını tetikleyen başlangıç CSS'i:

1
  .container {
2
		  width: 400px;
3
		  height: 300px;
4
		  background-color: #DCDCDC;
5
		  overflow: scroll; /* showing scrollbars */
6
	}

Buna benzer bir şey görüyor olmanız lazım:


2. Adım: Webkit Tarayıcıları ile Başlangıç

Yıllar önce(birkaç yıl) Webkit tarayıcılarına, sayfalarınızı temanıza göre şekillendirebilmek için kaydırma çubuklarını hedefleyen CSS Pseudo Öğeler'i eklendi.

-webkit- önekini ve webkit'in özel kaydırma çubuğu özelliklerini kullanarak bir şeyler stilleyelim. Unutmayın ki, anlama kolaylığı için temel CSS özelliklerine bağlı kaldım ve kod yorumlarında gerekli anlatımı yaptım. 

1
	::-webkit-scrollbar {
2
		  width: 15px;
3
	} /* this targets the default scrollbar (compulsory) */

Bu pseudo element varsa, WebKit standart içsel kaydırma çubuğu görüntülemeyi kapatır ve CSS'de sağlanan bilgileri kullanır. - Surfin Safari

Ve şimdi bazı diğer pseudo-elementler için:

1
	::-webkit-scrollbar-track {
2
		  background-color: #b46868;
3
	} /* the new scrollbar will have a flat appearance with the set background color */
4
5
	::-webkit-scrollbar-thumb {
6
		  background-color: rgba(0, 0, 0, 0.2); 
7
	} /* this will style the thumb, ignoring the track */
8
9
	::-webkit-scrollbar-button {
10
		  background-color: #7c2929;
11
	} /* optionally, you can style the top and the bottom buttons (left and right for horizontal bars) */
12
13
	::-webkit-scrollbar-corner {
14
		  background-color: black;
15
	} /* if both the vertical and the horizontal bars appear, then perhaps the right bottom corner also needs to be styled */

Bu CSS'yi ekledikten sonra aşağıdaki efekti görebilirsiniz (yine sadece Webkit tarayıcılarında).

Bilin bakalım ne? Internet Explorer'ın kendi kaydırma çubuğu stillendirmesi var.

Evet bu doğru - aslında IE, CSS aracılığıyla kaydırma çubuklarının stillendirilebilmesini destekleyen ilk tarayıcıdır. IE 5.5 zamanlarından beri vardı, ancak yalnızca renk değiştirilebiliyordu.

Bu özellikler hala günümüzde kullanılabilir; Gösterim amacıyla IE 9'da bu tek özelliğe bir göz atın:

1
  body {
2
      scrollbar-face-color: #b46868;
3
  }

Nasıl göründüğüne bakın:


3. Adım: Webkit Olmayan Tarayıcılar için B Planı

Bu kadar WebKit eğlencesi yeterli. Bu eğlenceye Firefox, IE ve Opera da katılabilir. Onlar için son çare olarak jScrollPane kullanmak yeterlidir. Bu jQuery eklentisi Kelvin Luck tarafından geliştirildi ve günün kurtarıcısı olacaktır.

Kelvin'in web sitesinde pek çok iyi örnek bulunmaktadır ancak temel kullanım için yapmamız gereken tek şey jQuery ve jScrollPane dosyalarını indirmek ve bunları aşağıdaki şekilde uygulamaktır:

1
	<!-- this cssfile can be found in the jScrollPane package -->
2
	<link rel="stylesheet" type="text/css" href="jquery.jscrollpane.css" />
3
4
	<!-- latest jQuery direct from google's CDN -->
5
	<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
6
	<!-- the jScrollPane script -->
7
	<script type="text/javascript" src="jquery.jscrollpane.min.js"></script>
8
9
	<!--instantiate after some browser sniffing to rule out webkit browsers-->
10
	<script type="text/javascript">
11
	
12
	  $(document).ready(function () {
13
	      if (!$.browser.webkit) {
14
	          $('.container').jScrollPane();
15
	      }
16
	  });
17
	
18
	</script>
19
				
20
</body>

Sadece temamızla uyumlu hale getirmek için jquery.jscrollpane.css dosyasını açalım ve aşağıdaki satırları renk değerlerimizle düzenleyelim (performans iyileştirmeleri için tüm stilleri kendi dosyalarınıza koymak isteyebilirsiniz):

1
	.jspTrack
2
	{
3
		background: #b46868; /* changed from #dde */
4
		position: relative;
5
	}
6
7
	.jspDrag
8
	{
9
		background: rgba(0,0,0,0.2); /* changed from #bbd */
10
		position: relative;
11
		top: 0;
12
		left: 0;
13
		cursor: pointer;
14
	}

Firefox'da ne göreceğinizin bir ekran görüntüsü:


Sonuç

Gmail ve Google+ gibi Web Uygulamaları (ve diğer birçok örnekle) zaten bu fikri benimsedi ve bu ivme devam ederse belki de Firefox ve IE de kendi çözümlerini sağlayacaktır.

Umarım bu Çabuk İpucu hoşunuza gitmiştir ve tasarım çalışmalarınızda kaydırma çubuklarıyla ne yaptığınızı görmek için sabırsızlanıyorum!


Diğer Kaynaklar

Envato Market'teki özelleştirilebilir kaydırma çubukları

Hazır bir çözüm arıyorsanız Envato Market, web sitenize kolayca ekleyip yeni efektler yaratabilmeniz için bir dizi kaydırma çubuğu seçeneği sunar. İşte bunlardan bazıları:

1. Lazybars - Themeable responsive scrollbar jQuery plugin

Lazybars kullanımı kolay temalı  jQuery kaydırma çubuğu eklentisidir. Bu kaydırma çubuklarını, web sitenizdeki kaydırılabilir herhangi bir öğeye bir sınıf adı ekleyerek uygulayabilirsiniz.

Lazybars ile gelen mevcut temaları kullanabilir veya basit bir CSS ile kendi temalarınızı oluşturabilirsiniz.

Lazybars - Themeable responsive scrollbar jQuery pluginLazybars - Themeable responsive scrollbar jQuery pluginLazybars - Themeable responsive scrollbar jQuery plugin
Lazybars - Themeable responsive scrollbar jQuery plugin

2. Fancy Scrollbar - WordPress

"Fancy Scrollbar - WordPress", WordPress sitelerinde özel kaydırma çubuğu oluşturabilen bir eklentidir. Bir sürü özelleştirme seçeneği vardır. Renk, efektler, kaydırma gecikmesi, ray şeridi ve daha pek çok parametreyi özelleştirebilirsiniz.

Fancy Scrollbar - WordPressFancy Scrollbar - WordPressFancy Scrollbar - WordPress
Fancy Scrollbar - WordPress

3. Awesome Custom Scrollbar

Awesome Custom Scrollbar WordPress web siteniz için son derece özelleştirilebilir bir özel jQuery kaydırma çubuğu eklentisidir. Bu eklenti ile web sayfanızın kaydırma çubuğunu özelleştirebilir ve tema dosyalarında bile istediğiniz yere dilediğiniz yerde kısayol kullanarak Özel Kaydırma Çubuğu yerleştirebilirsiniz.

Awesome Custom ScrollbarAwesome Custom ScrollbarAwesome Custom Scrollbar
Awesome Custom Scrollbar

4. DZS Scroller

DZS Scroller, siteniz için, içerdiği üç tema yetersiz olması durumunda, CSS yoluyla çok kolay bir şekilde özelleştirebileceğiniz bir kaydırma çubuğu sağlar. Ayrıca, fareyle üzerine gelindiğinde(hover) kaydırma veya fare ayrılma(mouse leave) işlemi sonunda solmaya(fade) benzer gelişmiş işlevlerle birlikte gelir ve iPhone/iPad'lerdede çalışır.

DZS ScrollerDZS ScrollerDZS Scroller
DZS Scroller

5. CSS3 Kaydırma Çubuğu Stilleri

Web siteniz için güzel ve renkli CSS3 Kaydırma çubuğunu kullanmak kolaydır. Yeni CSS3 Kaydırma Çubuğunun keyfini çıkarmanız için mevcut CSS dosyasına eklemeniz yeterlidir.

CSS3 Scrollbar StylesCSS3 Scrollbar StylesCSS3 Scrollbar Styles
CSS3 Kaydırma Çubuğu Stilleri
Advertisement
Did you find this post useful?
Want a weekly email summary?
Subscribe below and we’ll send you a weekly email summary of all new Web Design tutorials. Never miss out on learning about the next big thing.
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.