30 Kasım 2014 Pazar

Material Design Iconları

google material design Material Design ile birlikte kullanılan iconlar “Material Design Iconic Font” isimli proje altında bir araya getirildi. Toplamda 744 adet icon vektörel formatta, web tasarımında kullanabileceğiniz şekilde sizleri beklemekte. Diğer popüler icon setleri Glyphicon ve Font Awesome’dan farklı bir ruha sahip bu icon tasarımları günden güne daha da popülerleşecek gibi.


Sergey Kupletsky tarafından hazırlanan bu icon setini ücretsiz bir şekilde kullanabilirsiniz.


ÖRNEĞİ GÖRÜNTÜLE


Nasıl kullanılır?


Material Design Iconic Font v1.0.1’i aşağıdaki bağlantıyı tıklayarak indirebilirsiniz.



DOSYAYI İNDİR


ZIP dosyası içerisinden çıkan css ve fonts klasörlerini web sayfanızın dizini içerisine atın. Daha sonra da web sitenizin <head></head> tanımları arasına aşağıdaki kodu ekleyin.



<link rel="stylesheet" href="css/material-design-iconic-font.min.css">

Artık kullanıma hazır!


Örnek


Bir çiçek iconu ekleyerek başlayalım


md icon 1



<i class="md md-local-florist"></i>


Çiçeği farklı boyutlarda tekrar ekrana yazdıralım.


md icon 2



<i class="md-local-florist md-lg"></i> md-lg
<i class="md-local-florist md-2x"></i> md-2x
<i class="md-local-florist md-3x"></i> md-3x
<i class="md-local-florist md-4x"></i> md-4x
<i class="md-local-florist md-5x"></i> md-5x


Spinner (yükleniyor) yapıları için dönen animasyonlar oluşturalım.


md icon 3



<i class="md md-rotate-right md-spin"></i>
<i class="md md-settings md-spin"></i>
<i class="md md-rotate-left md-spin-reverse"></i>
<i class="md md-replay md-spin-reverse"></i>
<i class="md md-loop md-spin-reverse"></i>


İconlara takla attıralım veya çevirelim.


md icon 4



<i class="md md-invert-colors"></i> normal<br>
<i class="md md-invert-colors md-rotate-90"></i> md-rotate-90<br>



Material Design Iconları

25 Kasım 2014 Salı

Haftanın Ücretsiz Web Teması #9

Strafa, HTML5up tarafından hazırlanmış şık ve minimalist bir tema. HTML5 ve CSS3 teknolojilerini kullanan Strafa beraberinde parallax scrolling trendini de içeriyor.


Bu hafta pastel renklerden oluşan responsive yapıdaki Strafa temasını sizlerle paylaşacağız.


Ücretsiz Web Teması #9 : Strafa


Özellikler


  1. Responsive

  2. HTML5 ve CSS3 ile hazırlanmış

  3. Kolaylıkla değiştirilebilir

  4. Tamamen ücretsiz

 


DEMO  DOWNLOAD


Kullanım & Lisanslama


Adobewordpress’te her hafta binlerce tasarım arasından seçilip paylaşılan tüm temalar ücretsizdir. Kişisel ve kurumsal işleriniz için rahatlıkla kullanabilirsiniz. Ayrıca istediğiniz şekilde de değiştirebilirsiniz.



Tüm haftalık web teması paylaşımlarını buradan görüntüleyebilirsiniz.




Haftanın Ücretsiz Web Teması #9

19 Kasım 2014 Çarşamba

Yıldızlarla Yükleniyor Animasyonu (Spinner)

yildiz spinner loading Web sayfanızdaki yüklenme işlemlerinizin uçuşan yıldızlardan oluşan bir animasyonla süslenmesini ister misiniz? Georgi tarafından hazırlanan bu şık tasarım sayesinde bir canvas öğesini JavaScript ile süsleyebilir, bu yapıyı oluşturabilirsiniz.


Hazırsanız yıldızlardan oluşan yükleniyor animasyonunu birlikte oluşturalım.


ÖRNEĞİ GÖRÜNTÜLE


JavaScript ile Yıldızlı Yükleniyor Animasyonu (Spinner)


Birbirinin kopyası yıldızların koordinatlarını yöneterek, perdeye giren ve bir süre sonra çıkan oyuncular misali görünürlükleriyle oynayarak, klasik canvas yapısını etkileyici bir şekilde kullanıyor Georgi’nin JavaScript kodları. Anlaşılır bir şekilde temiz ve sade olarak yazılmış kodlar, bizlere de tasarımı özgünleştirme şansı tanıyor.


Şimdi bu yapıyı oluşturmaya başlıyoruz.


HTML ve CSS Kodları


İhtiyaç duyacağımız içi boş bir canvas tanımı.


<canvas></canvas>

Beraberinde de bu canvas öğesini ekrana düzgün bir şekilde basmamızı sağlayacak CSS tanımları da şöyle :



body,htmlmargin:0; padding:0;
canvas position:absolute; display: block; top:0;left:0;

Şimdi sırada JavaScript kodları var.


JavaScript Kodları


Eğer Georgi’nin tasarımında


  1. yıldızların rengini değiştirmek isterseniz ctx.fillStyle = “#ffeb3b”;

  2. yıldızlara border eklemek isterseniz ctx.strokeStyle = ‘rgba(0,0,0,0)';

  3. tasarımın arkaplanını değiştirmek isterseniz ctx.fillStyle = ‘#e91e63′;

alanlarını değiştirmeniz gerekmektedir.


İşte kodlar :



function Circle (x, y, radius)
this.x = x;
this.y = y;
this.radius = radius;
this.angle = 0;


function Star (x, y, rotation)
this.x = x;
this.y = y;
this.length = 15;
this.scaleX = .1;
this.scaleY = .1;
this.rotation = rotation;
this.angle = Math.random() * 360;
this.vx = 0;
this.vy = 0;
this.alpha = 1;


Star.prototype.draw = function(ctx)
ctx.save();
ctx.globalAlpha = this.alpha;
ctx.translate(this.x, this.y);
ctx.rotate(this.rotation * Math.PI / 180);
ctx.beginPath();
ctx.moveTo(0,0);
ctx.lineTo(24,0);
ctx.lineTo(24,24);
ctx.lineTo(0,24);
ctx.closePath();
ctx.scale(this.scaleX, this.scaleY);
ctx.strokeStyle = 'rgba(0,0,0,0)';
ctx.lineCap = 'butt';
ctx.lineJoin = 'miter';
ctx.miterLimit = 4;
ctx.save();
ctx.fillStyle = "#ffeb3b";
ctx.beginPath();
ctx.moveTo(12,0.89);
ctx.lineTo(15.609,8.204);
ctx.lineTo(23.682,9.377);
ctx.lineTo(17.842,15.071);
ctx.lineTo(19.22,23.11);
ctx.lineTo(12,19.315);
ctx.lineTo(4.78,23.11);
ctx.lineTo(6.159,15.071);
ctx.lineTo(0.318,9.377);
ctx.lineTo(8.39,8.204);
ctx.lineTo(12,0.89);
ctx.closePath();
ctx.fill();
ctx.stroke();
ctx.restore();
ctx.restore();
;

function Square(x, y)
this.x = x;
this.y = y;


var canvas = document.querySelector('canvas'),
ctx = canvas.getContext('2d'),
W = canvas.width = window.innerWidth,
H = canvas.height = window.innerHeight,
stars = [],
circle = new Circle(W / 2, H / 2, 110),
square = new Square(W / 2, H / 2);

function animateRect(square)
var star, counter = 0;
square.x = W / 2 + (circle.radius * Math.cos(circle.angle * .047));
square.y = H / 2 + (circle.radius * Math.sin(circle.angle * .047));
circle.angle++;
stars.push(new Star(square.x, square.y, Math.random() * 360));


function moveStars()
for (var i = 0; i < stars.length; i++)
var star = stars[i];
if (star.scaleX <= 1)
star.scaleX += .05;
star.scaleY += .05;

if (star.alpha >= .05)
star.alpha -= .015;
else if (star.alpha < .1)
stars.splice(stars[i], 1);

star.vx = Math.sin(star.angle) * .5;
star.vy = Math.cos(star.angle) * .5;
star.angle += .1;
star.x += star.vx;
star.y += star.vy;
star.draw(ctx);



(function drawFrame()
window.requestAnimationFrame(drawFrame, canvas);
ctx.fillStyle = '#e91e63';
ctx.fillRect(0, 0, W, H);
animateRect(square);
moveStars();
());

Yorumlarınız?


Bu şık spinner ile ilgili yorumlarınızı bekliyoruz.



Yıldızlarla Yükleniyor Animasyonu (Spinner)

18 Kasım 2014 Salı

Haftanın Ücretsiz Web Teması #8

Flex, Templatemo tarafından hazırlanmış, şık ve büyük bir slider ile başlayıp minimalist yapıda devam eden responsive bir web şablonu. Trial, portfolio, our team ve contact gibi alanları da barındıran tasarım flat renkleri başarıyla taşıyor. Bootstrap’le de desteklenmiş olması, biz tasarımcıların yapacağı revizyonları hızlandırıyor.


Bu hafta scrollspy ve sticky header gibi güncel tasarım trendlerini başarılı bir şekilde uygulayan Flex isimli temayı sizler için inceliyor olacağız.


Aradığınız şık ve kullanışlı bir tasarım ise Agency sizin için doğru tercih olabilir!


Ücretsiz Web Teması #7 : Agency


Özellikler


  1. Bootstrap

  2. Responsive

  3. HTML5 ve CSS3 ile hazırlanmış

  4. Kolaylıkla değiştirilebilir

  5. Tamamen ücretsiz

 


DEMO  DOWNLOAD


Kullanım & Lisanslama


Adobewordpress’te her hafta binlerce tasarım arasından seçilip paylaşılan tüm temalar ücretsizdir. Kişisel ve kurumsal işleriniz için rahatlıkla kullanabilirsiniz. Ayrıca istediğiniz şekilde de değiştirebilirsiniz.



Tüm haftalık web teması paylaşımlarını buradan görüntüleyebilirsiniz.




Haftanın Ücretsiz Web Teması #8

17 Kasım 2014 Pazartesi

CSS ile Responsive Dropdown Menu

css dropdown responsive menu Sadece CSS kodlarıyla açılabilir (dropdown) ve mobil uyumlu menü hazırlanabilir mi? Birkaç sene öncesine kadar bu işi JavaScript desteği olmadan yapmak hayalden öteye geçemezdi. Ancak bugün, CSS3’ün gelişen tanımlarıyla web tarafında neredeyse herşey mümkün!


Ayrıca aç/kapa düğmesiyle bu menüyü taşınabilir cihazlara özel stilize de edebiliyoruz. Evet, yanlış duymadınız. Aç/kapa işlemini bile sıradan bir checkbox öğesini selector gibi kullanarak CSS ile hazırlıyoruz.


Bu makalemizde sadece CSS kodları yazarak responsive yapıda bir dropdown menü hazırlayacağız. Sadece kod tarafında değil, önyüzde de basitliğe yönelerek bu tasarımı yapacağız.


Örneği görüntüleyerek derse başlayabilirsiniz.

ÖRNEĞİ GÖRÜNTÜLE


CSS Responsive Dropdown Menü


HTML tarafında ihtiyaç duyacağımız kodları yazdıktan sonra menünün genel taslağını oluşturacağız. Klasik ul yapısı öyle bir stilize edilmeli ki mobil cihazlarda da sorunsuz çalışmalı. Öyleyse bir aç/kapa düğmesine, yani jQuery kodlarına ihtiyaç duymaz mıydık?


Burada da sıradan bir checkbox öğesini, değerine göre selector ile yakalanabilir hale getirip aç/kapa düğmesi olarak kullanacağız. Ve en sonunda da bütün bu yapıyı responsive, yani mobil uyumlu hale getireceğiz.


HTML kodlarımız ile başlayalım.


HTML Kodları


İlk olarak mobil tarafta aç/kapa işlemini yapacak checkbox öğesini ekleyelim.



<label class='showMenu' for='hiddenInput'>&#9776;</label>
<input id='hiddenInput' type='checkbox' value='0'/>

Şimdi de menünün kendisini ekleyelim. Yapımız gayet basit. Klasik bir ul menüsü oluşturalım.



<ul class="cssMenu">
<li>Anasayfa</li>
<li>Web Tasarımı <span class="downarrow"></span>
<ul>
<li>HTML5</li>
<li>CSS3</li>
<li>jQuery</li>
</ul>
</li>
<li>İletişim</li>
</ul>

Şimdi bütün fonksiyoneliteyi ve tasarımı CSS ile ekleyelim.


CSS Kodları


Başlangıç için menüyü klasik ul yapısından çıkaralım. Renkler ve yazı tipleri atayalım.



ul.cssMenu
list-style-type: none;
padding:0;
background-color: #00bcd4;


ul.cssMenu li
font:300 16px sans-serif;
color: #333;
display: inline-block;
padding: 15px;
position: relative;


Menü öğelerinin üzerine gelindiğinde nasıl bir aksiyon alınacak?



ul.cssMenu > li:hover
cursor: pointer;
background-color: #ffeb3b;
box-shadow:0 0 15px rgba(0,0,0,.6);


Aşağıya doğru açılan, sub menü barındıran öğelerin yanına koyacağımız oku tasarlayalım.



ul.cssMenu .downarrow
border: 4px solid transparent;
border-top-color: #000;
display:inline-block;


Alt menüleri detaylı bir şekilde elden geçirelim.



ul.cssMenu li ul
display: none;
padding:0;


ul.cssMenu li:hover ul
display: table;
margin-top: 15px;
min-width: 250px;
left: 0;
position: absolute;

ul.cssMenu li:hover ul li
background-color: white;
display: block;

ul.cssMenu li:hover ul li:hover
background-color: #e91e63;
color:white;


Şimdi son olarak checkbox öğesini görünmez yapalım ve mobil taraf için menüyü göster hamburger ikonunu tasarlayalım.



input[type='checkbox']#hiddenInput
display:none;


.showMenu
display:none;
color:white;
font-size:30px;
position:absolute;
right:0px;
top:0px;
padding:8px 15px 10px 15px;
background-color:#e91e63;
border-radius:100%;
z-index:1;
border:5px solid #212121;
cursor:pointer;


Sırada responsive yapımız var.



@media (max-width: 992px)
ul.cssMenu,ul.cssMenu .downarrow
display:none;


input[type='checkbox']#hiddenInput:checked ~ ul.cssMenu,.showMenu
display:block;


ul.cssMenu li
display: block;
text-align:center;
padding:15px 0;
border-bottom:1px solid rgba(1,1,1,.1);


ul.cssMenu li:hover
box-shadow:0 0 0;


ul.cssMenu li ul
display: block;
background-color: white;
margin:15px 0 -15px 0;


ul.cssMenu li ul li
font-size:80%;
padding:10px;


ul.cssMenu li:hover ul
width: 100%;
position: relative;



Bu kadar.



Nasıl buldunuz?


Sadece CSS kodları ile hazırlanmış bu responsive dropdown menü örneğini nasıl buldunuz? Yorumlarınızı bekliyoruz.



CSS ile Responsive Dropdown Menu

16 Kasım 2014 Pazar

HTML5 ile Resimlere Before/After

html5 resim before after HTML5 ile resimlerinizin önceki ve sonraki hallerini gösterebilirsiniz. Bu işlemi range inputuyla süsleyerek kaydırma çubuğuyla before/after işlemi uygulayabiliyoruz.


Özellikle fotoğrafçılık ve fotoğraf manipülasyonu üzerine yayın yapan blog yazarları, bu makalemiz sizleri hedef alıyor. Makalenin devamına göz atmadan önce örneği görüntülemenizi öneririz.


ÖRNEĞİ GÖRÜNTÜLE


HTML5 ile Resimlerin Önceki ve Sonraki Halleri


Hazırlayacağımız yapı bir çerçevenin içerisine 2 adet fotoğraf veya resim yükleyerek, bunları hiyerarşik olarak sıralayıp, yeri geldiğinde kapatıp açabilecek. Bu yüzden bol bol pozisyonlama da yapmış olacağız. Özetle işin büyük bir kısmı yine CSS3 tarafında ilerleyecek.


HTML Kodları


İlk olarak .karsilastirma isimli tablo yapıda bir division oluşturalım. İçerisine de birinci görseli eklemek için figure, ikinci görseli eklemek için de #ikincil ismindeki division öğesini ekleyelim. Altına da range inputumuzu ekleyerek kaydırma işleminin temelini oluşturalım.



<div class="karsilastirma">
<figure>
<figcaption>After</figcaption>
<img src="http://www.adobewordpress.com/wp-content/uploads/2014/11/natalie-portman-nonStatue.jpg">
<div id="ikincil">
<figcaption>Before</figcaption>
<img src="http://www.adobewordpress.com/wp-content/uploads/2014/11/natalie-portman-Statue.jpg"></div>
</figure>
<input type="range" min="0" max="100" value="50" id="slide" oninput="kaydirma()">
</div>

Şimdi bu yapıya biraz stil katalım.


CSS Kodları


İlk olarak çerçevemizi tablo yapısına sokarak içerisindeki öğeler kadar büyümesini sağlayalım.



div.karsilastirma display:table;margin:auto;

Birinci görselimizi barındıracak figure ile devam edelim.



div.karsilastirma figure
position: relative;
font-size: 0;
margin: 0;
overflow:hidden;
z-index:1;


div.karsilastirma figure > img position: relative; width: 100%;

Şimdi de 50% genişlikte başlayacak ikinci görselin çerçevesini ekleyelim.



div.karsilastirma figure div
position: absolute;
width: 50%;
overflow: hidden;
bottom: 0;
height: 100%;
z-index:4;


Şimdi de before ve after yazılarını ekleyelim.



div.karsilastirma figure > div > figcaption ,
div.karsilastirma figure > figcaption
position:absolute;
bottom:4px;
font: 300 18px sans-serif;
color:white;


div.karsilastirma figure > img position: relative; width: 100%;
div.karsilastirma figure > div > figcaption left:8px; z-index:2;
div.karsilastirma figure > figcaption right:8px; z-index:3;

Son olarak range inputumuzu stilize edelim.



input[type=range]
-webkit-appearance:none;
-moz-appearance:none;
position: relative;
top: -30px;
left: -.4%;
width: 100%;
background-color: rgba(1,1,1,.1);
z-index:5;


input[type=range]:focus outline: none;
input[type=range]:active outline: none;

input[type=range]::-moz-range-track
-moz-appearance:none;
width: 98%;
background-color: rgba(1,1,1,.1);
position: relative;
outline: none;


input[type=range]::active border: none; outline: none;
input[type=range]::-webkit-slider-thumb
-webkit-appearance:none;
position: relative;border-radius:100%;
width: 25px; height: 25px; background:white;
border-radius:100%;

input[type=range]:focus::-webkit-slider-thumb
background: rgba(255,255,255,.5);

input[type=range]:focus::-moz-range-thumb
background: rgba(255,255,255,.5);


JavaScript Kodları


Son olarak ikinci öğenin genişliğini takip edecek ve sliderı bu yapıyla ilişkilendirecek bir JavaScript koduna ihtiyaç duyuyoruz.



function kaydirma()
document.getElementById("ikincil").style.width = document.getElementById("slide").value+"%";


Yorumlarınız


HTML5 ve CSS3 ile hazırlayıp JavaScript ile fonksiyonel hale getirdiğimiz Before/After yapısıyla ilgili neler düşünüyorsunuz?



HTML5 ile Resimlere Before/After

15 Kasım 2014 Cumartesi

Bootstrap Material Design

bootstrap materialdesign Google’ın yeni nesil kullanıcı dostu tasarım prensipleri ile Twitter’ın CSS kütüphanesini bir arada kullanmaya ne dersiniz?


Material Design‘ı mobil ortamda yeni yeni görmeye başlamışken web tarafında işler daha hızlı ilerliyor. Web geliştiricileri günden güne yeni Material Design elemanları paylaşırken şimdi de Bootstrap tarafında hareketlenmeler yaşanmaya başladı. FezVrasta, GitHub sayfasında paylaştığı bu web önyüzüyle son günlerde fazlasıyla popüler.


Bootstrap Material Design


Bootstrap Material temasının detaylarını GitHub sayfasından takip edebilirsiniz. Download etmek veya önizlemek için de aşağıdaki bağlantıları kullanabilirsiniz.


DEMO  DOWNLOAD

Şimdi de yapıyı biraz tanıyalım.


Bootstrap Material Design : Navbar


bootstrap materialdesign2


Buttons


bootstrap materialdesign3


Bootstrap Material Design : Typography


bootstrap materialdesign4


Bootstrap Material Design : Icons


bootstrap materialdesign5


Bootstrap Material Design : Tables


bootstrap materialdesign6


Bootstrap Material Design : Forms


bootstrap materialdesign7


Bootstrap Material Design : Navs


bootstrap materialdesign8


Bootstrap Material Design : Indicators


bootstrap materialdesign9


Bootstrap Material Design : Progress bars


bootstrap materialdesign10


Bootstrap Material Design : Sliders (with noUiSlider)


bootstrap materialdesign11


Bootstrap Material Design : Containers


bootstrap materialdesign12


Bootstrap Material Design : Dialogs


bootstrap materialdesign13


Ne düşünüyorsunuz?


Bu etkileyici tasarım yapısı ve kütüphane birleşimi hakkında ne düşünüyorsunuz? Yorumlarınızı bekliyoruz.



Bootstrap Material Design

14 Kasım 2014 Cuma

JavaScript Kütüphanesi ile Etkileşimli Parçacıklar

js particles Particles.JS, birden çok etkileşimli parçacığı oluşturan bir JavaScript kütüphanesi.


Kullanıcılarınızın ilgisini çekebilecek bu partikül yapısı birçok JavaScript kütüphanesinin aksine web sayfanızda ağır bir performans kaybına sebep olmuyor.


Örneği görüntüleyerek başlayabilirsiniz.


ÖRNEĞİ GÖRÜNTÜLE


Particles.JS Kullanımı


Vincent Garreau tarafından geliştirilen bu parçacık yapısını geliştirmek veya daha da özgünleştirmek istiyorsanız GitHub linkine göz atabilirsiniz.


HTML Kodları


Partiküller nerede gözükecek? Basit bir division elemanı ekleyelim.


<div id="particles-js"></div>

CSS Kodları


CSS tarafında bizi bekleyen bir tasarım yok. Ancak sayfa yapısındaki boşlukları kaldırıp canvas yapılarını blok tipe çevirmek işinizi kolaylaştıracaktır.



html,body
margin:0;


canvas
display:block;
vertical-align:bottom;


#particles-js
height:100%;
background:#b61924


JS Kodları


Temel haliyle çalışması için particle.js isimli dosyanın web sayfanıza eklenmesi gerekiyor.


<script src="http://vincentgarreau.com/particles.js/particles.js"></script>

Bunlara ek olarak Vincent’in varsayılan tanımını ekleyebiliriz :



particlesJS('particles-js',
particles:
color: '#fff',
shape: 'circle',
opacity: 1,
size: 2.5,
size_random: true,
nb: 100,
line_linked:
enable_auto: true,
distance: 250,
color: '#fff',
opacity: 0.5,
width: 1,
condensed_mode:
enable: false,
rotateX: 600,
rotateY: 600

,
anim:
enable: true,
speed: 2

,
interactivity:
enable: true,
mouse:
distance: 200
,
mode: 'grab'
,
retina_detect: true
);

Nerelerde kullanılabilir?


Bu partikül yapısı sizlere de moleküllerin yapısını anımsatmadı mı? Özellikle de parçalar arasındaki değişken etkileşim bilimsel içerikli web sayfaları için birebir.


Yorumlarınızı bekliyoruz.



JavaScript Kütüphanesi ile Etkileşimli Parçacıklar

11 Kasım 2014 Salı

Haftanın Ücretsiz Web Teması #7

Bu hafta daha detaylı ve sert renklere sahip bir temayla sizlerleyiz. Agency, isminden de anlaşılacağı gibi küçük iş tipleri ve ajanslar için kullanılabilecek şık bir web sunumu. Tek sayfalık yapıda hazırlanmış yapı gücünü ve fonksiyonelitesini Bootstrap’den alıyor.


Aradığınız şık ve kullanışlı bir tasarım ise Agency sizin için doğru tercih olabilir!


Ücretsiz Web Teması #7 : Agency


Özellikler


  1. Bootstrap

  2. Responsive

  3. HTML5 ve CSS3 ile hazırlanmış

  4. Kolaylıkla değiştirilebilir

  5. Tamamen ücretsiz

 


DEMO  DOWNLOAD


Kullanım & Lisanslama


Adobewordpress’te her hafta binlerce tasarım arasından seçilip paylaşılan tüm temalar ücretsizdir. Kişisel ve kurumsal işleriniz için rahatlıkla kullanabilirsiniz. Ayrıca istediğiniz şekilde de değiştirebilirsiniz.



Tüm haftalık web teması paylaşımlarını buradan görüntüleyebilirsiniz.




Haftanın Ücretsiz Web Teması #7

9 Kasım 2014 Pazar

CSS ile Yazı Ayıracı

Yazının bulunduğu günden beri kullanılan ayraçlar web tarafında CSS ile kolaylıkla hazırlanabilmekte.


css ile yazi ayiraci


Bu dersimizde CSS3’ün :after odaklı tanımlamalarıyla şık bir yazı ayıracı hazırlayacağız.


ÖRNEĞİ GÖRÜNTÜLE


CSS3 ile yazı ayıracı nasıl yapılır?


Yapmamız gereken klasik paragraf yapımızın altına çizgi eklemek. Daha sonra da aynı yapıya after tanımıyla birkaç özellik daha ekleyeceğiz. Özetle işin büyük kısmı CSS tarafında. Hazırsanız yazı ayıracı yapımına dair bir örnekle başlayalım.


HTML Kodları


3 adet makalemiz olduğunu varsayalım.



<article>Burada bir makale olsun</article>
<article>Bu da ikinci makale</article>
<article>Bu son olsun.</article>

Şimdi de yazı ayıracını tasarlayalım.


CSS Kodları


İlk olarak yazıların altına border ekleyelim. Ayrıca :not(:last-of-type) tanımı sayesinde de tüm bu tasarımların son makaleye uygulanmasını engelliyoruz. Böylece altında başka yazı olmayan makaleye ayıraç eklemiyoruz.



article:not(:last-of-type)
position: relative;
margin: 4em auto;
padding-bottom: 4em;
border-bottom: #ddd 1px solid;


Şimdi sırada :after tanımlamamız var. Bu kod sayesinde de yazı ayıracının ortasına daire ekliyoruz.



article:not(:last-of-type):after
display: block;
content: "";
width: 7px;
height: 7px;
border: #ddd 1px solid;
position: absolute;
bottom: -5px;
left: 50%;
margin-left: -5px;
background: #FFF;
-webkit-border-radius: 100%;
-moz-border-radius: 100%;
border-radius: 100%;
box-shadow: #FFF 0 0 0 10px;


Bu kadar!


Görüşleriniz


Bu makale hakkında hakkında yorumlarınızı bekliyoruz…



CSS ile Yazı Ayıracı

4 Kasım 2014 Salı

jQuery ile Scroll ve Arkaplan İlişkisi

jQuery‘nin scrollTop tanımı ile birlikte web sayfalarındaki kaydırma çubuğununun seviyesini numerik olarak yakalayabiliyoruz. Hal böyleyken bu yapıyı niye CSS3 ile ilişkilendirip şık tasarımlar hazırlamayalım ki?


Bu dersimizde aşağıya scroll edildikçe büyüyen ve bulanıklaşan arkaplan tasarımı yapacağız. İşlevsellik yükünü jQuery, tasarım yükünü de CSS sırtlayacak. Hazırsanız başlayalım.


ÖRNEĞİ GÖRÜNTÜLE


jQuery ile aşağı scroll edildikçe büyüyen ve bulanıklaşan arkaplan


Bu işlemi yapmak için ilk olarak elemanımızı HTML’de tanımlamamız gerekiyor. Daha sonra CSS ile ekranın herbir kısmını kaplayıp arkaplanımızı uygulayacağız. İşin dinamikliğini de jQuery ile hazırlayacağız.


HTML ile başlayalım.


HTML Kodları


Sadece süreci ilerletebileceğimiz bir arkaplan öğesine ihtiyacımız var.


<div class="arkaplan"></div>

CSS Kodları


Body tanımınızda margin ve padding değerlerinin 0’a çekilmesi gerekiyor. Aksi halde bazı tarayıcılarda kenar boşlukları oluşabiliyor.



body
padding:0;
margin:0;


Şimdi de arkaplan ismini verdiğimiz division öğemizi tasarlayalım.



.arkaplan
position:fixed;
top:0;
z-index:0;
width:100%;
padding-top:50%;
background: url(ARKAPLAN_RESMI.jpg) center center no-repeat;
transform:scale(1);
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;


Artık bu yapıyı dinamik hale getirebiliriz.


jQuery Kodları


Öncelikle sayfanızda jQuery tanımlı olup olmadığına bakın. Eğer yoksa Body‘nin bittiği yere, tanımının hemen öncesine jQuery’i ekleyerek devam edelim.


<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>

Şimdi kodlarımızı ekleyebiliriz.



$(window).scroll(function(e)

var scrollSeviye = $(this).scrollTop();

if(scrollSeviye>2400)
scrollSeviye=2400;


var buyutme=(scrollSeviye/6000)+1;

$('.arkaplan').css('-webkit-filter', 'blur('+scrollSeviye/120+'px)');
$('.arkaplan').css('transform', 'scale('+buyutme+')');

);

Burada 2400 üst limitimiz oluyor. Bu değeri geçen yüksekliklerde arkaplan resmini büyütmeyi ve bulanıklaştırmayı kesiyoruz. Daha sonra da CSS’in ölçeklendirme ve filtre efektlerini kullanıyoruz.


Yorumlarınız?


Bu dinamik arkaplan tasarımımızla ilgili öneri ve yorumlarınızı bekliyoruz.


İyi çalışmalar.



jQuery ile Scroll ve Arkaplan İlişkisi

Haftanın Ücretsiz Web Teması #6

Verti, HTML5 ve CSS3 ile hazırlanmış minimalist yapıdaki bir web teması. Gri noise bir arkaplan üzerine açık renklerden kurulu tasarım büyük puntolu yazı ve köşeleri yumuşatılmış resimlerle şık bir görüntü oluşturuyor.


Sadece, hızlı ve geliştirilebilir bir tasarıma ihtiyacınız varsa HTML5up’ın hazırladığı Verti tam sizlik!


Ücretsiz Web Teması #6 : Verti


Özellikler


  1. Responsive

  2. HTML5 ve CSS3 ile hazırlanmış

  3. Kolaylıkla değiştirilebilir

  4. Tamamen ücretsiz

 


DEMO  DOWNLOAD


Kullanım & Lisanslama


Adobewordpress’te her hafta binlerce tasarım arasından seçilip paylaşılan tüm temalar ücretsizdir. Kişisel ve kurumsal işleriniz için rahatlıkla kullanabilirsiniz. Ayrıca istediğiniz şekilde de değiştirebilirsiniz.



Tüm haftalık web teması paylaşımlarını buradan görüntüleyebilirsiniz.




Haftanın Ücretsiz Web Teması #6

1 Kasım 2014 Cumartesi

Ders 2 : Bootstrap Grid (Izgara) Yapısı

Bootstrap ders serimizin ikinci adımıyla sizlerleyiz.


Adobewordpress ailesi olarak CSS3’ün Media Sorgularını daha önce konu edinmiştik. Şimdi aynı işlemi, yani Responsive Design’in liquid yapısını Bootstrap ile hazırlayacağız.


Bugün kütüphanenin sunduğu en büyük avantajı, 12’lik grid (ızgara) yapısını konuşacağız.


Bootstrap’in 12’lik grid yapısı


İlk olarak sık sık dillendirdiğimiz grid yapısının ne olduğuna bakalım.


bootstrap grid


Bootstrap, web sayfalarını yatay olarak 12 eşit parçaya bölünmüş olarak ele alıyor. Her bir grid 8.3% genişlik değerine sahip şekilde hazırlanıyor. Önyüz geliştiricisi de sadece class tanımlayarak tüm yapıyı hiç olmadığı kadar hızlı ve kolay bir şekilde düzenleyebiliyor. Bir örnekle devam edelim.



Grid yapısı sitenizin iskelet yapısını oluşturmak konusunda size hız katıyor bu açık. Ancak en büyük yenilik bu değil. Izgara yapısı sayesinde web sayfanızın responsive (duyarlı) hale bürünmesini sağlayabilirsiniz. Nasıl mı? Acele etmeyin, öncesinde öğrenmemiz gereken birkaç özellik daha var.



Başlamadan önce


Bootstrap’in grid yapısı her türden taşınabilir cihaza uygun tasarımlar oluşturmanızı sağlıyor. Bunları kendi içinde extra small(xs),small medium(sm), medium(md) ve large(lg) devices olarak sıralıyor. Bu terimleri İngilizce paylaşma gereği duyduk. Çünkü hemen yanlarında parantez içerisinde verdiğimiz kısaltmalar büyük önem taşımakta.


Ayrıca ekranın her yerini kullanmak istiyorsanız container-fluid, sabit genişlikte çalışmak istiyorsanız container classlarını wrapper öğenize verebilirsiniz. Bunlar da Bootstrap’in grid yapısını destekleyen çerçeve tanımları.


Şimdi tanımların ne olduğu öğrenerek başlayalım.



İyi anlatıyorsunuz da nedir bu 12’lik grid yapısı?


En temeliyle başlıyoruz. Arkanıza yaslanın ve rahatlayın. Şuan bütün web tasarım dünyasını çalkalayan ve insanların zor olduğunu düşünerek araştırmaya çekindiği Bootstrap kütüphanesinin en önemli özelliğini öğrenmektesiniz. Bu cümle serisi bittiğinde siz de eşiği atlayan önyüz geliştiricilerinin arasında olacaksınız.


Yukarıda konuştuğumuz gibi Bootstrap xs, sm, md ve lg büyüklüğündeki cihazlara göre özel tasarımlar oluşturuyor. Örneğimizde medium, yani tabletler ve desktoplar üzerine konuşalım.


bootstrap grid basic


Yukarıdaki col-md-6 tanımlaması, medium (orta) boyutlardaki cihazlarda, ekranın 12’de 6’sını (yarısını) kaplayacak şekilde pozisyon alır. 12 tane grid olduğunu söylemiştik, burada 6 tanesini belirttik. Dolayısıyla bir div’e bu classı verdiğimizde öğe kendiliğinden %50 (6/12 grid) width değerini alacaktır.



Üstteki 3 cümlelik paragraf Bootstrap’in en önemli yapısı olan grid sistemini özetlemektedir. An itibariyle tepeyi aştınız. Bundan sonrası sizler için yokuş aşağı. Tebrikler.


bootstrap ogreniyorum


Örneklere geçmeden önce offset ve push kavramlarını öğrenelim.



Offset ve Push tanımları ne işe yarar?


Her iki tanım da ilgili elemanı dış kısmından ittirmenizi sağlar. Margin gibi düşünün. Margin değerini 50 piksel yaptığınız bir resim nasıl diğer öğelerden 50 piksel uzaklaşıyorsa da offset ve push tanımları da bu işi yapıyor.


bootstrap col md offset


Üstteki tanım sayesinde mavi bir div öğesini 8/12 olarak siteye ekliyoruz. Sağına ve soluna da 2’şer, toplamda 4 gridlik boşluk bırakıyoruz. Özetle 8 mavi ve 4 gri olmak üzere 12’lik gridimizi tamamlamış oluyoruz.


bootstrap col md push


Bu seferde aynı mavi div öğesini sadece sol taraftan 4 gridlik ittiriyoruz. Böylece 8 mavi ve 4 gri olmak üzere 12’lik gridimizi tamamlıyoruz.



Şimdi örneklerimizi çoğaltalım. Ve bunu canlı örneklerle destekleyelim.



Örneklendirmeler


İlk olarak 3 adet div’i col-xs-4 tanımıyla yanyana gelecek şekilde dizelim. Günün sonunda amaç 12’lik gridi elde etmek. Divleri renklendirmek dışında şunları yazdık :



<div class="col-xs-4">A Kutusu</div>
<div class="col-xs-4">B Kutusu</div>
<div class="col-xs-4">C Kutusu</div>


Devam edelim.



Responsive Örnekler


Şimdi üstteki örneği, her türden cihazda farklı gözükecek şekilde tekrar hazırlayalım. Mavi alan menümüz olsun, kırmızı alan içeriğimiz, yeşil alan da footerımız olsun.


bootstrap grid devices


Mavi div (menü) için : Large ekranlarda col-lg-3, medium boyutlardaki ekranlarda col-md-3, small medium ekranlarda biraz büyüsün ve col-sm-4 olsun, cep telefonları ve türevi cihazlarda da tüm 12’lik gridi kaplasın col-xs-12.


Kırmızı div (içerik) için : Menüden kalan alanları 12’ye eşitleyelim. Large ekranlarda col-lg-9, medium boyutlardaki ekranlarda col-md-9, small medium ekranlarda biraz küçülsün ve col-sm-8 olsun, cep telefonları ve türevi cihazlarda da tüm 12’lik gridi kaplasın col-xs-12.


Yeşil div (footer) için : Her boyutta tam genişliğe sahip olmalı, ister tek tek tüm boyutlar için 12 tanımı yapın. İsterseniz de sadece col-md-12 ve col-xs-12 classlarını tanımlayarak tüm ekranlarda 12’lik boyutta olmasını sağlayın.


Toplamda yazdığımız kodlar şu şekilde;



<div class="col-lg-3 col-md-3 col-sm-4 col-xs-12">A Kutusu</div>
<div class="col-lg-9 col-md-9 col-sm-8 col-xs-12">B Kutusu</div>
<div class="col-md-12 col-xs-12">C Kutusu</div>

ÖRNEĞİ GÖRÜNTÜLE



Şu boyutta gözüksün, şu boyutta gözükmesin


Bootstrap kullanırken display tanımları yapmakla da uğraşmıyoruz. Öğelerinizin her türden tasarımda görünürlük derecelerini sadece bir class ile yönetebiliyoruz. Burada tanımlarımız visible ve hidden olarak ayrılmakta. Normal haliyle verilmiş bir visible tanımı öğeyi her türden cihazda görünür kılar. Hidden ise onu gizler. Şimdi detaylandıralım.


  • visible-lg : Sadece large ekran genişliklerinde gözükür.

  • visible-md : Sadece medium ekran genişliklerinde gözükür.

  • visible-sm : Sadece small medium ekran genişliklerinde gözükür.

  • visible-xs : Sadece extra small ekran genişliklerinde gözükür.

  • hidden-lg : Sadece large ekran genişliklerinde gizlenir.

  • hidden-md : Sadece medium ekran genişliklerinde gizlenir.

  • hidden-sm : Sadece small medium ekran genişliklerinde gizlenir.

  • hidden-xs : Sadece extra small ekran genişliklerinde gizlenir.

Bu yapı çoklu kullanımlara da uygundur. Örneğin :


<div class="visible-lg hidden-md visible-sm hidden-xs">Örnek</div>

Yukarıdaki class tanımlaması divin görünürlüğünü istediğimiz gibi biçimlendirebiliyoruz.


Bitirmeden önce


Bu makale “Ders 1 : Bootstrap nedir?” ile başlattığımız serinin devamı niteliğindedir. Soru ve önerilerinizi yorumlar alanından iletebilirsiniz.


İyi çalışmalar.



Ders 2 : Bootstrap Grid (Izgara) Yapısı