::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>

Klavyeden girilen sayıya kadar olan Fibonacci serisini yazdiran Javascript Programı

Evet Sayın okuyucu,
Bugün Fibonacci serisi üreten bir Javascript programı yapacağız. İtalyan matematikçi Leonardo Fibonacci'nin 12. yüzyılda keşfettiği gizemli Fibonacci serisi matematik ve yazılımla ilgilenlerin malumudur. Bir başlangıç değerinden itibaren her bir sayı bir önceki ile toplanarak bir sonraki sayı elde edilir ve bu ilginç seri bu şekilde sonsuza kadar gider.
Burada önemli bir noktayı belirtmek istiyorum. Fibonacci sayısı diye bir şey yoktur. Fibonacci serisi vardır. Burada esas olan yukarıda belirttiğimiz kurala uygun elemanların artarak sıralanmasıdır. Herhangi bir sayıdan başlayabilir. Asal sayılar ile karıştırılmamalıdır. Bu programda biz seriyi 1 den başlattık. Ama herhangi bir sayıdan başlayan versiyonunu yazmak da size kalmış.

Lütfen bir sayı girin ve enter tuşuna basın

0


 Kodlar

<input type="text" id="sayiYaz" />


<div id="fibonacci">0</div>


<script>

  var a = 1;

  var b = 1;

  var c = 0;

  var i = 0;

  var fibonacciDizisi = [];

  var eleman = document.getElementById("sayiYaz");

  eleman.addEventListener("keyup", function(event) {

    if (event.keyCode === 13) {

      document.getElementById("fibonacci").innerHTML = "";

      while (i < parseInt(eleman.value)) {

        if (i <= 1) {

          fibonacciDizisi[i] = 1;

          i++;

        } else {

          c = a + b;

          if (c > eleman.value) {

            break;

          }

          fibonacciDizisi[i] = c;

          i++;

          a = b;

          b = c;

        }

      }

      for (j = 0; j < fibonacciDizisi.length - 1; j++) {

        document.getElementById("fibonacci").innerHTML += fibonacciDizisi[j] + ",";

      }

    }

  });

</script>

Saygılarımla
Turgut Arslan

1'den N'ye kadar olan sayıların toplamını yapan JavaScript programı

Programı denemek için kutuya bir sayı yazın ve enter tuşuna basın.

0


 Programın kodları aşağıdaki gibidir

<input type="text" id="sayiKutu" />

<div id="sonuc">0</div>

<script>

  var eleman = document.getElementById("sayiKutu");

  eleman.addEventListener("keyup", function(event) {

    if (event.keyCode === 13) {

      var t = 0;

      var x = 1;

      while (x <= parseInt(eleman.value)) {

        t = t + x;

        x = x + 1;

      }

      document.getElementById("sonuc").innerHTML = t;

    }

  });

</script>




Saygılarımla...
Turgut ARSLAN

Sliderli Product Box Örneği

 

Sliderli Product Box Kodları :

 <style>

.productBox{

display:block;

position:relative;

width:25%;

height:auto;

float:left;

box-sizing:border-box;

border:solid 1px #dedede;

border-radius:1rem;

padding:.3rem;

margin:.3%;

background:#fff;

}

.productImages{

position:relative;

width:100%;

height:auto;

display:block;

padding-bottom:100%;

box-sizing:border-box;

}

.productImage{

margin:auto;

max-width:85%;

height:auto;

display:none;

position:absolute;

z-index:1;

top:0;

left:0;

right:0;

bottom:0;box-sizing:border-box;}

.productImage:nth-child(1){display:block;}

.imageThumbs{display:flex;width:100%;justify-content: center;margin:0px auto;}

.imageThumbsItem{

display:block;

border:solid 1px #dedede;

width:1rem;

height:1rem;

border-radius:50%;

margin:1%;

box-sizing:border-box;

cursor:pointer;

}

</style>

<script>

window.addEventListener("load",function(){

 var parent;

 var imgOrd;

 var upParent;

  var allItems=document.getElementsByClassName("imageThumbsItem");


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

    allItems[i].addEventListener("mouseover",function(){

          parent = this.parentElement; 

   imgOrd=Array.prototype.indexOf.call(parent.children, this);

   upParent=parent.parentElement;

   var underImgs=upParent.getElementsByTagName('img');

    for (j=0;j<underImgs.length;j++){

    underImgs[j].style.display="none";

    }

   underImgs[imgOrd].style.display="block";

});

}

});

</script>

<div class="productBox">

<div class="productImages">

  <img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj_Asv63bj3E2If7jgm-_GoroyOFZpResKSWFf65VtkyJ9846nhBW0Zz7pfAkB2NQZtCszwqSbE-IKJdL5eNzGQsUxZ0lJrsQAZtHxSxRWvYpz8wiJzxGSngYEVlmgSRBayX09wh8rZR1g/s0/a1.jpg" class="productImage" />

        <img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg57pTPjVZ8VfbO6fK_mTP03MfS_ND0WIbDW6q0vcBUWBHTJjId-6egNww95QMdzHMb0wB131Dmj-GLMzvusAgX7ZfKgRVP75BBagHAB9a-hvLYjWeD5R_UM-oC1E2pt-0K0LkOtJR3ZX4/s0/a2.jpg" class="productImage" />

        <img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9Z9xNRo0ZtsvNISWZwN_G4kELyF9FhjFDJVmMaKYbn7q-lJ_visRrWPyzyo2kbX3Su8hARurzZkO4BzLq_nsgcfPsgwMKuQeDYx90aEfz-nDXrbtgOVcXKjlSLmxeuK2chLJ_ZcNTzuk/s0/a3.jpg" class="productImage" />

        <img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRLx2sSCf2JKMPDCtMJGONO3wcq6YdHZ_5uf-aa9KE7xA6W2SmoHDDTkBChqY1PEjIxC7lpN66G_DtVMi2eRX1jLU_DqtyhhsFqwAyr1pfeeBVT5emo9NbfxVbc09NxcAlb4aPdB5-2zU/s0/a4.jpg" class="productImage" />

</div>

    <div class="imageThumbs">

    <div class="imageThumbsItem"></div>

        <div class="imageThumbsItem"></div>

        <div class="imageThumbsItem"></div>

        <div class="imageThumbsItem"></div>

    </div>

</div>

<div class="productBox">

<div class="productImages">

  <img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiR63dmMfuGmzqa32XhiiufZcB2qqAYtf2q_s9pRl8tS7RjF2m5gPh12Wb6kyT-86VclBge1JXIL6ity5UizX6M9x0fmplSLWfE9sugLhJZq5mnLeakEfGtPzxTHPefF9i-avlr1Ky1ZZI/s0/b1.jpg" class="productImage" />

        <img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcGcaqGBrBYT4u-LRoBVwo4TtnMKcwlF3apcpNu9fjV3V2X8JYvz44S6He7_3CAgvMvMBpFZq2xg0fYDCTA7GL2ybC4MbLo66fzOemTGw_CagwBRZfV94IZ9Zpn1mD9z9UXnLI3CCPzgI/s0/b2.jpg" class="productImage" />

        <img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8x0-DWQex4dM63FrGec1ZcjVIitZO5Q2Y3j9lhpqs4FjWTwPL2OrQUhn8kX_kpec9POvZKbY9UWxpSpZ8TyD6HkeFUIq7IjpOd2krE5jW1c9x_pwAYFN9NBjClYj8epCfldy33lDYQTw/s0/b3.jpg" class="productImage" />

        <img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUBPUiKuvW9TM2noVoUt0onhU8zYCukU-vo2Hrhm-QBajI2US27BTQc72uZDxTefbunorwKCd0ys8IwPmnaouryysBuub4tqEOmBMhhXYM4JoHle1myXvJNNXNuophHb3NUBZOxJWVK08/s0/b4.jpg" class="productImage" />

</div>

    <div class="imageThumbs">

    <div class="imageThumbsItem"></div>

        <div class="imageThumbsItem"></div>

        <div class="imageThumbsItem"></div>

        <div class="imageThumbsItem"></div>

    </div>

</div>

<div style="display:block;width:100%;height:10px;clear:both;"> &nbsp;</div>




Saygılarımla...
Turgut ARSLAN

Babamı kaybedeli ne kadar zaman geçti?

B

Babamı 27 Ocak 2021 günü kaybetmiştim.


Salih Bey'in Ruhu için El Fatiha!

Firefox ile Bir Sitenin TLS Versiyonunu Nasıl Öğrenirsiniz?

TLS (Transport Layer Security), internet üzerinden yapılan iletişimi güvence altına alan bir protokoldür. Bir web sitesinin hangi TLS versiy...