Welcome to My Blog 👋

Java, Spring Framework, Microservices, Docker, Kubernetes, AWS and Others 🚀
Follow Me



Pseudo elementler bir elementin belirli bir parçasına css uygulamak için kullanılır. Örneğin;
  • İlk harfe veya satıra veya elemente stil uygulamak için
  • Bir elementin içeriğinden önce veya sonra bir içerik eklemek için


Syntax


selector::pseudo-element {
  property: value;
}

Not! Pseudo class'lar ile pseudo elementleri ayırmak için CSS'te pseudo elementlerin gösterim şekli tek iki noktalı gösterim yerine CSS3 ile çift iki noktalı gösterim şeklinde değiştirildi. Geriye dönük uyumluluk sağlamak için tek noktalı gösterim şeklide hala desteklenmektedir.

All CSS Pseudo Elements

SelectorExampleExample description
::afterp::afterHer bir <p> element başına bir şeyler eklemek için
::beforep::beforeHer bir <p> elementin sonuna bir şeyler eklemek için
::first-letter<p::first-letterHer bir <p> elementin ilk harfine stil eklemek için
::first-linep::first-lineHer bir <p> elementin ilk satırına stil eklemek için
::selectionp::selectionHer bir <p> elementin kullanıcı tarafından seçilen kısmına stil eklemek için


Bir pseudo class, bir elemanın özel durumunu tanımlamak için kullanılır. Örnek verecek olursak;
  • Bir kullanıcı fareyle bir öğenin üzerine geldiğinde o öğeye stil verme
  • Ziyaret edilen ve görünmeyen bağlantıları farklı bir şekilde stilize etme
  • Bir öğeye odaklanıldığında stil verme

Syntax


selector:pseudo-class {
  property: value;
}


Anchor Pseudo Class'lar


/* ziyaret edilmemiş link */
a:link {
  color: #FF0000;
}

/* ziyaret edilmiş link */
a:visited {
  color: #00FF00;
}

/* mouse ile linkin üzerine gelindiğinde */
a:hover {
  color: #FF00FF;
}

/* linke tıklandığı anda */
a:active {
  color: #0000FF;
}

Not! Daha efektif bir kullanım için :hover, :link ve :visited'ten sonra; :active ise :hover'dan sonra gelmelidir. pseudo class'lar case-sensitive değildir.


Pseudo Class'lar ve CSS Class'lar


Pseudo class'lar ile css class'ları birlikte kullanılabilir.

a.highlight:hover {
  color: #ff0000;
}

Yukarıdaki örnekte sadece class'ı highlight olan a elementleri etkilenecektir.


Tooltip


Bir pseudo class'ın gerçekleşme durumunda farklı bir element'in durumu değiştirilebilir.

p {
  display: none;
  background-color: yellow;
  padding: 20px;
}

div:hover p {
  display: block;
}

Yukarıdaki örnekte div elementi üzerine mouse ile gelindiğinde p elementinin display özelliği değiştirilecektir.


Tüm CSS Pseudo Class'ları


SelectorÖrnekÖrnek Açıklama
:activea:activeTüm Linklerin üzerine tıklandığı anda ki özellikleri tanımlamak için
:checkedinput:checkedTüm checked özelliği true olan <input> elementler için
:disabledinput:disabledTüm display özelliği true olan <input> elementler için
:emptyp:emptyBir çocuk elemente sahip olmayan tüm <p> elementleri için
:enabledinput:enabledTüm enabled <input> elementler için
:first-childp:first-childParent'ının ilk elementi olan tüm <p> elementleri için
:first-of-typep:first-of-typeTüm parent'ların ilk <p> olan elementleri için
:focusinput:focus<input> element'lerin focus durumundaki özelliklerini tanımlamak için
:hovera:hoverLink elementinin üzerine mouse ile gelindiği durumdaki özelliklerini tanımlamak için
:in-rangeinput:in-rangeBelirtilen değer aralığını aşmayan bir değer girilen <input> elementler için
:invalidinput:invalidTüm invalid değeri olan <input> elementleri için
:lang(language)p:lang(it)"it" ile başlayan bir lang özelliği olan tüm <p> elementleri için
:last-childp:last-childParent'ının son elementi olan tüm <p> elementleri için
:last-of-typep:last-of-typeTüm parent'ların son <p> olan elementleri için
:linka:linkDaha önce ziyaret edilmemiş tüm linkler için
:not(selector):not(p)<p> elementi olmayan tüm elementler için
:nth-child(n)p:nth-child(2)Bir parent'ın ikinci elementi olan tüm <p> elementleri için
:nth-last-child(n)p:nth-last-child(2)Bir parent'ın sondan ikinci elementi olan tüm <p> elementleri için
:nth-last-of-type(n)p:nth-last-of-type(2)Tüm parent'ların sondan ikinci <p> elementleri için
:nth-of-type(n)p:nth-of-type(2)Tüm parent'ların ikinci <p> elementleri için
:only-of-typep:only-of-typeParent'ının tek <p> elementi olan <p> elementleri için
:only-childp:only-childParent'ının tek child elementi olan <p> elementleri için
:optionalinput:optional"required" özelliği tanımlanmayan tüm <input> elementleri için
:out-of-rangeinput:out-of-rangeBelirtilen değer aralığını aşan bir değer girilen <input> elementler için
:read-onlyinput:read-only"readonly" özelliği tanımlanan tüm <input> elementler için
:read-writeinput:read-write"readonly" özelliği tanımlanmayan tüm <input> elementler için
:requiredinput:required"required" özelliği tanımlanan tüm <input> elementler için
:rootrootSayfanın root elementi için
:target#news:targetAktif olan #news elementler için
:validinput:validUygun bir değer girilmiş tüm <input> elementler için
:visiteda:visitedZiyaret edilmiş tüm linkler için

CSS'de overflow özelliği bir alana sığmayacak kadar büyük olan içeriğe ne olacağını ayarlamamızı sağlar. Overflow aşağıdaki değerleri alabilir;

Visible 

Varsayılan değerdir. Taşma kırpılmaz. İçerik öğenin dışına taşmış bir şekilde görüntülenir.

div {
  overflow: visible;
}


You can use the overflow property when you want to have better control of the layout. The overflow property specifies what happens if content overflows an element's box.












      Hidden 

      Taşma kırpılır ve içeriğin geri kalanı görünmez olur.
      div {
        overflow: hidden;
      }
      


      You can use the overflow property when you want to have better control of the layout. The overflow property specifies what happens if content overflows an element's box.




      Scroll 

      Taşma kırpılır ve içeriğin geri kalanını görmek için bir kaydırma çubuğu eklenir.
      div {
        overflow: scroll;
      }
      

      You can use the overflow property when you want to have better control of the layout. The overflow property specifies what happens if content overflows an element's box.




      Auto 

      Eğer bir taşma olursa bu taşma kırpılır ve scroll eklenir. Bir taşma durumu olmazsa scroll eklenmez.
      div {
        overflow: auto;
      }
      

      You can use the overflow property when you want to have better control of the layout. The overflow property specifies what happens if content overflows an element's box.




      HTML'de div ve span elemanları genellile diğer elemanları gruplamak ve yerleşimlerini düzenlemek için kullanılır. CSS'de ise o gruplara ortak stil tanımlamak için kullanılır.

      Div ve span elemanları arasındaki tek var; div elemanının görünüm tipi block iken span elemanının inline'dır. Bu sadece içerisinde bulunan elemanların sayfadaki yerleşimlerini etkiler.

      Inline ve block elemanlar arasındaki farkı buraya tıklayarak okuyabilirsiniz.


      HTML'de her elemanın default olarak görünüm tipi vardır. Bu tip block veya inline olabilir. Bu tip CSS ile değiştirilebilir.
      Block elemanlar, bulunduğu satırın tümünü kaplar ve eklendiği yerde yeni bir satıra geçer.
      Inline elemanlar, eklendiği yerde sadece boyutu kadar yer kaplar.

      Not: Height ve width özellikleri sadece block elemanlarda kullanılabilir.

      Block Elemanlar

      <address>
      <article>
      <aside>
      <blockquote>
      <canvas>
      <dd>
      <div>
      <dl>
      <dt>
      <fieldset>
      <figcaption>
      <figure>
      <footer>
      <form>
      <h1>-<h6>
      <header>
      <hr>
      <li>
      <main>
      <nav>
      <noscript>
      <ol>
      <p>
      <pre>
      <section>
      <table>
      <tfoot>
      <ul>
      <video>



      Inline Elemanlar

      <a>
      <abbr>
      <acronym>
      <b>
      <bdo>
      <big>
      <br>
      <button>
      <cite>
      <code>
      <dfn>
      <em>
      <i>
      <img>
      <input>
      <kbd>
      <label>
      <map>
      <object>
      <output>
      <q>
      <samp>
      <script>
      <select>
      <small>
      <span>
      <strong>
      <sub>
      <sup>
      <textarea>
      <time>
      <tt>
      <var>

      HTML'de <meta> etiketi, <head> etiketi içerisinde kullanılan bir etikettir. Bu etiket ile sitemiz ile ilgili bilgileri tarayıcılar, arama motorları ve diğer web hizmetleri paylaşabiliriz.

      Web sayfamızda kullanılacak karakter setini aşağıdaki şekilde tanımlayabiliriz. Bu sayede sitemizdeki türkçe karakterler doğru bir şekilde yorumlanabilir.

      <meta charset="UTF-8">
      

      Web sayfamız ile ilgili kısa bir açıklamayı aşağıdaki şekilde tanımlayabiliriz.

      <meta name="description" content="Free Web tutorials">
      

      Arama motorlarının web sayfamızı doğru bir şekilde bulabilmesi için etiketleri aşağıdaki şekilde tanımlayabiliriz.

      <meta name="keywords" content="HTML, CSS, XML, JavaScript">
      

      Web sayfamızın yazarını aşağıdaki şekilde tanımlayabiliriz.

      <meta name="author" content="Berkay Demirel">