HTML etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
HTML etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

::after Pseudo Class'i ile Bir Elemana Verilen float Özelliğini Kaldırmak

 Bu çalışmamızda :after pseudo classı ile clear both nasıl yapılır? Bulmaya çalışacağız.


Şu şekilde bir kodlama yaptığımızı hayal edelim.

<style>

    .flist{display:block;max-width:25%;height:auto;padding:3rem;margin:.3rem;background:red;float:left;}

    .kap{width:80%;height:auto;display:block;background:blue;}

    .kap::after{clear:both;content:"";display:table;clear:left;font-size:0;height:0;}    .kapIki{width:3rem;height:3rem;background:green;display:block;color:white;padding:2rem;margin:.5rem 0;}

</style>


<div class="kap">

    <div class="flist">1</div>

    <div class="flist">2</div>

    <div class="flist">3</div>

    <div class="flist">4</div>

</div>

<div class="kapIki">2. kap</div>


Görünümü bu şekilde olacaktır.

Clearfix ya da clear işlemi uygulanmadan önce

Float Kesme İşlemi Uygulanmadan Önce


Görüldüğü gibi kırmızı kutulara float:left özelliği verildiğinden dolayı dolayı yeşil kutu olması gereken yerde değil. Ayrıca kapsayıcı olan mavi arka planlı kutuyu da göremiyoruz. Çünkü kırmızı kutularla aynı float değerinde değil. Normalde bu problemi çözmek için araya clear:both özellikli bir temizleme divi koyarız.  Ama bu şekilde kutucukların çok kullanıldığı bir tasarımda pek çok defa bu clear:div özellikli elemanı yazmamız gerekir. Sürekli kod tekrarı yapmamak ve gereksiz HTML kod kalabalığı yapmamak için :after pseudo classını kullanacağız. Aynı kodun Style kısmına kırmızı ile işaretli kod satırını ekleyelim.

<style>

    .flist{display:block;max-width:25%;height:auto;padding:3rem;margin:.3rem;background:red;float:left;}

    .kap{width:80%;height:auto;display:block;background:blue;}

    .kap::after{ content:""; display:table;clear:both; font-size:0;height:0;}

    .kapIki{width:3rem;height:3rem;background:green;display:block;color:white;padding:2rem;margin:.5rem 0;}

</style>

Eklendikten sonraki sonuç


:after pseudo classı ile clear both yapmak


Gördüğünüz gibi kırmızı kutucukların kapsayıcısına :after pseudo classı ile clear:both özelliğini ekledik. Classın oluşturduğu eleman tasarımda yer kaplamasın diye font-size:0; ve height:0; özelliklerini de ekledikten sonra mavi kutumuz kırmızı kutuları otomatik olarak kapladığı gibi, bir sonraki elemanın da tam olarak olmasını istediğimiz yerden devam etmesini sağladı. Bu çözüm Firefox 84.0.1 Microsoft Edge, Safari 14.1.1 ve Chrome 90.0.4430.212 sürümlerinde denendi ekran görüntüsü Chrome'dan alındı. Diğer tarayıcılarda denemedim. Kontrol etmeden kullanmayınız.

Sidebar İçin Özet Metin Kutusu(Elipsisli-3 noktalı) HTML-CSS

HTML CSS Hazır Metin Kutusu


Haber sitelerinde, ya da blog sayfalarının sidebar bölümünde kullanabileceğiniz metin kutusu. Genelde bir yazının özet kısmını göstermek için kullanılır. Eklediğinizi yazıyı belirli bir satıra kadar gösterir. Gerisini 3 nokta şeklinde kısaltır. Koddaki line-clamp özelliğini değiştirerek satır sayısını istediğiniz gibi ayarlayabilirsiniz. Kodlar şu şekildedir.

<style>
.listWrp{background:#f2f2f2;padding:2%;border: solid 1px #f2f2f2;border-radius:.8rem;-moz-border-radius:.8rem;-webkit-border-radius:.8rem;-o-border-radius:.8rem;max-width:40%;color:#717171;font-family:Arial;}
.listCont{border-left:solid 3px #ff0000;padding:0 0 0 3%;display:block;position:relative;font-size:.9rem;text-align:justify;  }
.listInd{position:absolute;top:5%;left:-.38rem;padding:.3rem;background-color:#ff0000;z-index:10;}
.listTitle{color:#555;margin:1% 0;font-size:1.2rem;}
.listTxt{text-overflow: ellipsis;display: -webkit-box;  -webkit-line-clamp: 8;  -webkit-box-orient: vertical;overflow:hidden;}
.listRMore{max-width:4rem;text-align:center;float:right;font-size:.7rem;color:#fff;font-weight:bold;padding:.5rem;background-color:#f00;border-radius:.3rem;-moz-border-radius:.3rem;-webkit-border-radius:.3rem;-o-border-radius:.3rem;line-height:.8rem;height:.8rem;display:block;cursor:pointer;text-decoration:none;}
.lstClear{clear:both;}
</style>

<div class="listWrp">
<div class="lstItem">
        <div class="listCont">
        <div class="listInd"></div>
        <h3 class="listTitle">Lorem ipsum dolor</h3>
          <div class="listTxt">
          Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
        </div>
        <a href="#" class="listRMore">Read More</a>
    </div>
    <div class="lstClear"></div>
</div>

JS ve CSS ile HTML Elemanlarının Sıralamasını Nasıl Değiştiririz?

HTML elemanlarının sıralarını değiştirebilmeniz için kapsayıcı elemanının display değerinin flex olması gerekmektedir. Sonrasında javascript ile verdiğiniz order değerine göre sıralanacaktır.

Aşağıdaki kodlar butona basıldığında elemanların sırasının karışık olarak değişmesini sağlamaktadır.


<style>

  .kapsayici {

    display: flex;

    display: -webkit-flex;

    flex-direction: column;

    max-width: 92px;

    height: auto;

    margin: 0px auto;

    flex-wrap: nowrap;

    justify-content: flex-start;

    align-items: stretch;

    align-content: stretch;

  }


  .eleman,

  .karistirButon {

    padding: 3%;

    border: solid 1px #f00;

    margin: 2px;

    max-width: 92px;

    text-align: center;

  }


  .karistirButon {

    background-color: red;

    color: #fff;

    margin: 0px auto;

    margin-top: 5px;

    cursor: pointer;

    display: block;

    padding: 1%;

    max-width: 92px;


  }

</style>

<script>

  function siraDegistir() {

    var sira = 0;

    var siraliste = [];

    var i = 0;

    var elemanlar = document.querySelectorAll(".eleman");

    for (i = 0; i < elemanlar.length; i++) {

      sira = Math.floor(Math.random() * (elemanlar.length)) + 1;

      if (!siraliste.includes(sira)) {

        siraliste.push(sira);

        elemanlar[i].style.order = sira;

      } else {

        i--;

      }

    }

  }

</script>

<div class="kapsayici">

  <div class="eleman">1</div>

  <div class="eleman">2</div>

  <div class="eleman">3</div>

  <div class="eleman">4</div>

</div>

<div class="karistirButon" onclick="siraDegistir();">Sırayı Karıştır</div>


Bu kodların çalışır hali 


1
2
3
4
Sırayı Karıştır


Saygılarımla...
Turgut ARSLAN

CSS Hazır Basit Product Box Kodu(Transition Efektli)

Product Box'lar, E-Ticaret sitlerinde ürün kutusu olarak bilinen ve kategori sayfalarında ürünlerin gösterilmesi için kullanılan site elemanlarıdır. Kullanıcılar bu kutucuklardaki bilgilere bakarak ürünler hakkında özet bilgi edinirler. Tıkladıklarında ürün detay sayfasına yönlendirme yapar. Bazılarında sepete ekleme butonları ve çeşitli aksiyon elemanları bulunur. Bu örnekte temel seviyede bir ürün kutusu kodlaması yaptım. Basit kolay anlaşılır bir kodlar kullandım. Sadece hover etkisini basit transition ile daha şık yapmak için bir iki ufak CSS3 kodu kullandım. Kodlar aşağıdaki gibidir.

<style>
  .productBox {
    border: solid 1px #ddd;
    width: calc((100% - 10px)/4);
    min-width: 150px;
    min-height:340px;
    height: auto;
    display: block;
    font-family: Arial;
    float: left;
    margin: 5px;
    border-radius: 2%;
    -webkit-border-radius: 2%;
    -moz-border-radius: 2%;
    transition: all .5s;
    background: #fff;
  }

  .productBox:hover {
    border: solid 1px #ccc;
    box-shadow: rgba(0, 0, 0, 0.12) 0px 2px 16px 0px;
  }

  .productImg {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 5px auto;
  }

  .productBox a {
    text-decoration: none;
    color: #717171;
  }

  .productName {
    font-size: 0.8rem;
    padding: 5px 7px;
    margin: 0px auto;
    display: block;
  }

  .productBox a:hover .productName {
    color: #141414;
  }

  .productSku {
    font-size: 10px;
    margin: 0px auto;
    padding: 0 7px;
  }

  .productPrice {
    padding: 5px 7px;
    font-size: 1rem;
    font-weight: bold;
    color: #439e4a;
  }

  .productOldPrice {
    padding: 1px 7px;
    font-size: 0.7rem;
    text-decoration: line-through;
    color: #999;
  }
</style>

<div class="productBox">
  <a href="#" title="CSS hazır ürün kutusu">
    <div class="pictureBox">
      <img src="/css-hazir-basit-product-box.jpg" alt="Ürün Fotoğrafı" class="productImg" />
    </div>
    <span class="productSku"> SKU : FFF333ddDDD</span>
    <div class="productName">
      Lorem ipsum dolor sit amet, consectetur adipiscing elit
    </div>
    <div class="productOldPrice">
      29.999,89 <small>TL</small>
    </div>
    <div class="productPrice">
      19.999,89 <small>TL</small>
    </div>

  </a>
</div>

Bu kodların canlı hali,





 
İsterseniz bu kutucukları yan yana koyarak bir ürün vitrini oluşturabilirsiniz..


Saygılarımla...
Turgut ARSLAN

CSS Transition Background Efektli Kutucuklar

Basit birkaç satır CSS3 koduyla liste kutularınıza şık ve zarif görünümlü arkaplan efektleri verebilirsiniz. 

<style>
  .hoverKutu {
    background-color: #ededed;
    color: #717171;
    width: 90%;
    height: 45px;
    display: block;
    line-height: 45px;
    text-align: center;
    cursor: pointer;
    transition: background-color 1.1s ease;
    border: solid 1px #dddddd;
    margin: 5px auto;
  }

  .hoverKutu:hover {
    background-color: #fff;
  }
</style>
<div class="hoverKutu">
  CSS3 kodları ile kutucuklara yumuşatılmış Hover efektleri verebilirsiniz.
</div>
<div class="hoverKutu">
  Böylelikle daha yumuşak ve modern görünümlü listeler oluşturabilirsiniz.
</div>

Bu kodların canlı hali şu şekildedir.


CSS3 kodları ile kutucuklara yumuşatılmış Hover efektleri verebilirsiniz.
Böylelikle daha yumuşak ve modern görünümlü listeler oluşturabilirsiniz.

Burada CSS Transition efekti class'ı "hoverKutu" olan elemanların arka plan renk değişimine uygulandı. Bunu yapabilmek için "hoverKutu" classınnın CSS kuralına "transition" kodunu yazdım. Trasnsition efekti uygulanırken sırasıyla

  1. Hangi özelliğe uygulanacak?
  2. Ne kadar sürecek?
  3. Zamanlama(Burada zamanlamadan kastımız geçiş efektinin belirlenen zman içinde ne şekilde tamamlanacağıdır. transition-timing-function: olarak bilinir.)

Burada transition: background-color 1.1s ease; kodu ile geçiş efektinin arkaplan rengini değişirken uygulanacağınız, 1.1 saniye süreceğini ve zamanlama kuralının easing olduğunu belirtmiş oluyoruz.
Sonrasında kullanıcı elamanın üstüne mouse ile geldiğinde efektin uygulanabilmesi için ".hoverKutu" classına ":hover" pseudo classı ile " background-color: #fff;" tanımlaması yaparak arkaplanın beyaz olmasını ve bu geçişin yumuşak bir şekilde gerçekleşmesini sağlıyoruz.

CSS Transition efekti uygularken dikkat edilmesi gereken üç önemli nokta var.

  1. "transition" kodunu hangi elemana uygulaycaksanız, o elemanın CSS kuralları içine ekleyin.
  2. Değişmesini istediğiniz CSS kuralının(genişlik, yükseklik, arakaplan rengi vs.) transition kodunu eklediğiniz elemanın kuralları içinde olduğuna emin olun.
  3. Değişikliğin uygulanmasını istediğiniz aksiyon tanımlarında(:hover, :focus gibi) değişecek olan CSS kurallarının son hallerini yazın. Aynı  arkaplan efekt sonunda beyaz olacak ise buradaki örnekte " background-color: #fff;" yazdığımız gibi.

CSS Timeline Side Bar

CSS ile side bar alanına eklenebilen basit bir timeline kutusu.

CSS Timeline Side Bar


<style>
  .listTimeLine {
    margin: 0px;
    padding: 10px;
    border-left: 1px solid #717171;
    font-family: Arial;
    width: auto;
    display: block;
    background-color: #ddd;
    max-width: 40%;
    height: auto;
    display: block;
  }

  .listTimeLine li {
    margin: 4px 0;
  }

  .listTimeLine li.listDate {
    list-style-type: none;
    color: #717171;
    font-size: 12px;
    margin: 18px 0 0 0;
  }

  .listTimeLine li.listDate:first-child {
    margin: 0;
  }

  .listTimeLine li.listItem {
    list-style-type: none;
    font-size: 16px;
    font-weight: bold;
    color: #545454;
    padding-left: 15px;
  }

  .listTimeLine li.listDate:before {
    content: "■";
    padding-right: 10px;
    margin-left: -15px;
    line-height: 10px;
    vertical-align: top;
    display: inline-block;
    font-size: 16px;

  }

  .active {
    color: #e04235 !important;
    font-weight: bold;
  }
</style>

<ul class="listTimeLine">
  <li class="listDate active">Haziran 30, 2020</li>
  <li class="listItem active">Lorem ipsum dolor</li>
  <li class="listDate">Haziran 18, 2020</li>
  <li class="listItem">Sed ut perspiciatis unde omnis iste</li>
  <li class="listDate">Haziran 17, 2020</li>
  <li class="listItem">Ut enim ad minima veniam, quis nostrum exercitationem</li>
  <li class="listDate">Haziran 10, 2020</li>
  <li class="listItem">Lorem ipsum dolor sit amet</li>
</ul>

Responsive CSS Hazır Metin Kutusu

Metin kutusu kodları

CSS ile yazılmış Hazır Metin Kutusu


<style>
.mainBox{
display:block;
max-width:100%;
height:auto;
padding:2.5%;
background-color:#f1f1f1;
margin:5px auto;
border:solid 1px #dfe6e9;
box-sizing:border-box;
}
.innerBox{
background-color:#ffffff;
padding:5px;
width:100%;
height:auto;
display:block;
border:0px;
border-left: solid 3px #e74c3c;
text-align:justify;
box-sizing:border-box;
color:#2c3e50;
}

</style>
<div class="mainBox">
<div  class="innerBox">
    Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
    </div>
</div>

Bu kodların canlı hali


Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

HTML <!DOCTYPE> Bildirimi

<!DOCTYPE> bildirimi/deklerasyonu her HTML sayfasının başında olması gereken bir HTML elemanıdır.
Tek başına herhangi bir işlevi yoktur. Sadece tasaryıcılara içinde ilgili HTML dökümanının hangi standartlara göre işleneceğini bildirir. Tarayıcının sayfayı doğru yorumlaması için bu elemanın en başta <html> etiketinden önce yazılmış olması şarttır.
HTML <!DOCTYPE> Tagı Kullanım Örneği

<!DOCTYPE HTML>
<html>
   <head>
      <title>Sayfa Başlığı</title>
   </head>

<body>
            Sayfa içeriği
</body>

</html>


Sayfa formatına göre <!DOCTYPE> bildirim biçimleri de değişmektedir..

HTML5
 <!DOCTYPE html>

HTML 4.01 Strict
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

HTML 4.01 Transitional
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

HTML 4.01 Frameset
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">

XHTML 1.0 Strict
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

XHTML 1.0 Transitional
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

XHTML 1.0 Frameset
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

XHTML 1.1
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">





HTML <html> Etiketi

<html> etiketi, sayfanın bir HTML sayfası olduğunu belirtmek için kullanılır.
<html> şeklinde açılır ve </html> şeklinde kapanır.
Sayfadaki tüm HTML ve Javascript kodları bu iki etiket arasına yazılır.

 HTML <html> Tagı Kullanım Örneği

<!DOCTYPE HTML>
<html>
   <head>
      <title>Sayfa Başlığı</title>
   </head>

<body>
            Sayfa içeriği
</body>

</html>





HTML <html> Tagı Tarayıcı Desteği
Google Chrome Desteği : Var
Mozilla Firefox Desteği : Var
Internet Explorer Desteği : Var
Safari Desteği : Var
Opera Desteği : Var

Google Ads'te TBM Düşüren Bir Anahtar Kelime Stratejisi

Google Ads reklamlarının TBM maliyetleri enflasyon ve rekabetin etkisiyle giderek artmakta. Artık eskisi gibi ucuz CPC'lerle reklam yapm...