Arşiv hayatımız kod

Hayatımız CSS

CSS’in yapısı iki ana kısımdan oluşur. Seçiciler(Selector) ve Bildirim Bloğu(Declaration Block). Bildirim Bloğuda iki ye ayrılır. Özellik(Property) ve Değer(Value).

 

Not

XML de Seçiciler HTML elementleri dışında yeni oluşturulan elementlerde olabilir.

Tüm HTML elementleri potansiyel Seçicilerdir. Seçiciler ismini de buradan alır, HTML seçilen element anlamındadır.

Bildirim bloğu süslü parantezle açılır ve kapanır. Bildirimler arasında ” ; ” noktalı virgül kullanılır. özellik ve değerler birbirinden
” : ” iki nokta üstüste ile ayrılır.

  1. h1 {font: medium Arial;}

şeklinde arada boşluk verilerekde bildirm yapılabilir. Burada ilki font’un boyutunu ikincisi ise font ismini gösterir. İleride bu konuya daha ayrıntılı gireceğiz. Ayrıca sadece font etiketine özel ” / ” kullanımı vardır örnek aşağıda:

  1. h1 {font: medium/120% Arial;}

Burada ” / ” Seçicinin font boyutunu ve satır yüksekliğini gösterir.

(font_boyutu/satir_yuksekliği)

Gruplama

Yukarıda hep bir Seçici’yi sadece bir HTML elementine atamayı gördük, Birden fazla HTML elementine de atama yapabilirz, buna gruplama denir. Gruplama Seçicilerde yapıldığı gibi Bildirmlerde de yapılabilir.

  1. p, h3 {font-family: Arial;}

 

Not

CSS2 ile birlikte Evrensel Seçici(universal selector) Seçiciler arasına katılmıştır,
” * ” ile gösterilir.

* {color: red;}

tüm elementleri kırmızı yapar. Bir anlamda gruplama yapar. Ayrıntılı bilgi için W3

Burada düküman içindeki paragraflarda(p) ve başlıklarda(h3) fontların Arial olacağını tek bildirim ile belirttik. Gruplama yapılan Seçicileri ayırmak için ” , ” virgül kullanılır. Sınırsız sayıda Seçici gruplanabilir. Gruplama tasarımcılara büyük kolaylıklar sağlar.

Bildirim’lerimizi de gruplayabiliriz, bununla ilgili yukarıda örnekler mevcut. Bir veya daha fazla Seçiciye bir den fazla bildirim ekleye biliriz.

  1. p, h3
  2. {
  3. font-family: Arial;
  4. font-size:2;
  5. font-weight: bold;
  6. }

Seçiciler ikiye ayrılır. Sınıf Seçicisi ve Id Seçicisi. CSS ile işlenmemiş bir dökümanda başlangıçta bir plan yaparak hangi içeriğin Sınıf Seçicisi hangi Seçicicinin Id Seçicisi olacağını planlamalıyız.

Sınıf Seçicisi(Class Selector)

Aynı HTML elementine farklı özellikler atamak için Sınıf Seçicisini kullanırız. Bir örnek verecek olursak; hazırlayacağımız dökümanda iki adet paragraf tanımlaması yapacağımızı planlıyoruz. Bunlardan biri sağa dayalı, diğeri ise ortalı olmasını istiyoruz

  1. p.sagadaya {text-align: right}
  2. p.ortala {text-align: center}

Bu Seçicileri sayfamızda uygulamak için;

  1. <p class="sagadaya">Aynı HTML elementine farklı özellikler atamak için Sınıf Seçicisini kullanırız.</p>
  2. <p class="ortala">Yukarıdaki bilgiyi dikkatlice okumalısınız</p>

Birde önemli bir tanımlama yapacağınızı düşünün, ancak sadece bir HTML elementine değilde istediğiniz sayıda HTML elementinde bunu kullanmak isterseniz;

  1. .ortala {text-align: center}

Bu tanımlamayı yaptıktan sonra istedğimiz her HTML elementine bu sınıfı uygulayabiliriz.

  1. <span class="ortala"> Burada birşeyler yazar </span>
  2. <p class="ortala">Burada da başka bişeyler yazar</p>

Çoklu sınıflar, birden fazla sınıfı bir HTML elementine uygulamak için kullanılır.

  1. <p class="onemli uyari">Ã?lkemizde meydana gelen trafik kazalarının yaklaşık % 90'ı insanların hataları sonucu eydana gelmektedir.</p>

Yukarıdaki örnekte görüldüğü gibi bir uyari Sınıfımız birde onemli Sınıfımız mevcut. Bazı metinlerin önemli uyarı olacağı düşüncesi ile böyle bir atama yapılabilir. Bunun için kullanıcığımız kod;

  1. .onemli {font-weight: bold;}
  2. .uyari {font-style: italic;}
  3. .onemli.uyari {background: silver;}

onemli metinler için kalın, uyari için italiktik atmalar yapıyoruz. Birde her ikisine birden de atama yapabiliyoruz. Dikkat ederseniz class=”onemli uyari” olarak atama yaparken CSS Seçicisinde .onemli.uyari şeklinde yazıyoruz.

Id Seçecileri

Id Seçicisi Sınıf Seçicisinden farklıdır. Sınıf Seçicisi sayfada birden fazla elemente atanırken Id Seçicisi sadece bir tane elemente atanır. Seçicisi adının başında # işareti olan Seçiciler Id Seçicisidir.

  1. #mavi
  2. {
  3. background:blue;
  4. }
  5. #kirmizi
  6. {
  7. background:red;
  8. }
  9. <p id="mavi">Bu yazının arkafon rengi mavi</p>
  10. <p id="kirmizi">Bu yazının arkafon rengi kırmızı</p>
Sınıf mı? Id mi?

Yukarıda Id Seçicisi için her nekadar da bir sayfada sadece bir defa kullanılır desekte tasarımcının sayfada bir çok yerde kullanmasına tarayıcılar ses çıkarmaz, yani hata mesajı vermez. Ancak Bu elementleri DOM scriptlerinde kullanırken Id atamasını bir kaç yerde yaptığımızda hata alacağızdır. Bu nedenle her nekadar tarayıcılar izin versede Id Seçicisini bir kez kullanmalıyız. Birden fazla kullanacağımız elementler için Sınıf Seçicisini kullanmalıyız.

Bu kodumuzu daha kullanışlı ve temiz yapacaktır.

Sınıf ve Id Seçicileri küçük-büyük harfe karşı duyarlıdır;

  1. p.onemliBilgi {font-weight: bold;}

ve kullanımıda;

  1. <p class="onemlibilgi">Uygulama olmaz .</p>

Yukarıdaki kod uygulanmayacaktır çünkü ” B ” bir yerde büyük birde küçük kullanılmıştır. Bazı eski tarayıcılar bu kuralın dışında kalabilir.

Yorum Yapın

Java Nedir ?

Sadece interneti değil tüm bilgisayar dünyasını değişime uğratacak SUN firmasının geliştirdiği yeni platform bağımsız programlama dili.Hindistan’da bir ada.Ana ihracat ürünü kahve olan Pazifik’te bir ada bu yüzden USA’da kahve için kullanılan argo kelimedir.


1. Basit & Küçük

Java programlama dilinin öğrenilmesinin kolay olduğunu iddia eden Sun’daki geliştiricilere, yeni programlamaya başlayanların inanması biraz güç olacaktır.
Programlamayı bilen kişiler için (özelliklede C++) çok daha kolaydır. Çünkü Java C++ ‘a çok benzer.
C++ ‘da karmaşık olan bazı şeyler atılmış, basit olanlar eklenmiş
Küçük : Java çok küçük işlemcilerde bile çalışabilir. Temel ihtiyacı ( İşlemci, standart sınfılar ve “Thread”-desteği ) 215 KB dır. (Sun ‘ın iddiası )

2. Nesneye yönelimli & Dağınık

Nesneye yönelimli mi ? O da ne? Nesne yönelimli (Object Oriented) , insanların kavramada çok zorluk çektikleri bir kavram. Ama bu, iyi özelliklerinden dolayı, yazılım geliştirmede kabul görmesini engelleyemiyor.
Adından da anlaşıldığı gibi, nesneye yönelimli programlamada insan nesne geliştirmeye konsantre oluyor. Nesne, verilerden ( değişkenler ) ve bu verileri değiştirmeye yarayan fonksiyonlardan ( Method ) oluşuyor. Nesneye yönelimli programlamada, sonradan kullanılabilecek genel nesneler (Object) oluşturulması idealdir (Sınıflar). Profesyonel programlamada, devamlı büyüyen havuzda bulunan nesnelere ulaşılarak, bu nesneler tekrar kullanılabilir (Sınıf kütüphaneleri). Standart sınıf kütüphaneleri (Giriş/Çıkış, Grafik vb.) oluşturulmuştur. Bunlar programların içine katılırlar.
Uzaktaki bir sistemde bulunan nesnelere Java programları Internet üzerinden kolayca ulaşabilirler.Sun firmasının vizyonu : Programların tamamının lokal bilgisayarda bulunmaması, gerekli parçacıklarına ihtiyaç halinde internet üzerinden erişilmesi. Sun firmasının bu vizyonunun gerçek olup olmayacağını göreceğiz…

3. Yorumlayıcılı & Hızlı

Java programları direkt işlemci tarafından yorumlanmaz. Özel bir program tarafından yorumlanırlar (Yorumlayıcı = Interpreter ).
Bunun avantaj ve dezavantajları vardır : Programı geliştirirken bazı adımlardan kurtulursunuz. Örneğin bazı program parçacıklarına bağlantı kurmaktan (Link). Dezavantajı ise tüm desteklemelere rağmen, programın çalışmasının yavaş oluşu.
Sun firması bir ara katman oluşturdu. Java bir önyorumlayıcı tarafından byte koduna (bytecode) çevrilir. Çok büyük avantaj olan, bazı küçük değiştirmelerde derleyemeye gerek kalmaması, bununla yok oluyor.
Fakat bu “bytecode” makina diline çok yakındır. Bundan dolayıdır ki çok hızlı bir kod oluşturulmuş oluyor. Bu arada “Just-in-Time” Compiler lar “bytecode” u gerçek makina koduna çeviriyorlar. Böylece hız 10 kat (hatta daha fazla) artıyor.
Sun firmasının geliştireceği özel “Java işlemcileri” kapıda. Bunlar Java programları direkt çalıştıracaklar.

4. Sağlam & Güvenilir

Derleyici (Compiler) ve yorumlayıcı (Interpreter) kombinasyonun başka bir yönden avantajları var. Ön derleyici tip (ve buna benzer) hataları kontrol ederken, yorumlayıcı hataları yakalar ve gereğini yapar. En kötü ihtimalle, derlenmiş bir program çöker.
Yorumlayıcı, yabancı verilere ulaşılmasını engeller. C++ ‘taki bu özellik kaldırmış.
Gerçekten Java güvenli bir programlama dili ( Hiç bir şey %100 güvenli değildir. Günümüzde kredi kartı üçkağıtçılığı yapılmasına rağmen halen insanlar hal kredi kartlarını internet üzerinden kullanıyorlar. Niye Java %100 güvenilir olsun ki ….)

5. Platform bağımsız & Taşınabilir

Burada program geliştiricilerinin bir rüyası gerçekleşiyor:Herkes farklı işlemcilerde ve işletim sistemlerindeki problemi bilir. Birisinde çalışır diğerinde çalışmaz ve bu geliştiricilerin kabusudur ( Düşünün ki 10 tane video sistemi var ). Derleyici burada devreye girer ve programı “bytecode” çevirir. Bu kod tamamen platform bağımsızdır ve tüm işlemcilerde çalışır ( İnşallah )
Bir Java programı, hiçbir değişiklik yapılmadan, desteklenen tüm sistemlerde çalışır.
Ayrıca C++ ‘da bazı belirsizlik arz eden tanımlar temizlenmiş. Bu tanımlar değişik sistem ve derleyicilerde, değişik biçimlerde kabul ediliyorlardı. Örneğin C++ ‘da hiçbir zaman bir tamsayının (integer) kaç byte olduğu bilinemiyordu. Java’da bir tamsayı herzaman (Hangi sistemde olursa olsun ) 4 Byte dır.

6. Multithread & Dinamik

Modern bir programda bir çok işlem aynı zamanda olur. Bu özelliğe “multithread” deniyor (Buna uygun bir türkçe kelime bulamadım). Java bu tür programlar geliştirenlere, özel fonksiyonlar sunuyor ki, geliştiriciler programın asıl amacına konsantre olsunlar.
Bazı düzenlemelerden dolayı Java, C++ ‘dan daha dinamiktir. Sınıflar (Class) ve Nesneler (Object) arasındaki ilişkiler katı bir kural ile bağlı değildirler. İleriki safhalarda değiştirilmesi çok basittir. ( Bu da yorumlayıcı sayesindedir)

Yazının devamını oku »

Yorumlar (1)