Kaydırma çubuğunu özelleştirin

thumbnail

Gezinme çubuğu, herhangi bir uygulamada ortak bir öğedir ve bu makalede, görünümünü değiştirmenize yardımcı olacağım

personalizar barra de navegador fácil con css

Kaydırma çubuğu, herhangi bir uygulamada ortak bir öğedir ve bu makalede, özellikle bir geliştiriciyseniz ve projeleriniz için kaydırma çubuğunu nasıl kolayca değiştireceğinizi arıyorsanız, görünümünü değiştirmenize yardımcı olacağım.

Başlamadan önce, bu özelliğin yalnızca webkit tabanlı tarayıcılarda mümkün olduğunu bilmelisiniz; bununla birlikte, aynı şey olmasa da, inşa ettiğiniz her şeye yakın olan Firefox desteğini de içerir.

Düzenleme

Aşağıdaki stilleri web sitenize ekleyin, örneğin WordPress kullanıyorsanız bunları style.css dosyanıza eklemelisiniz, Blogger olması durumunda Şablon Tasarımcısından CSS Ekle seçeneğini kullanın.

body::-webkit-scrollbar {
  width: var(--scroll-size, 10px);
  height: var(--scroll-size, 10px);
}
body::-webkit-scrollbar-track {
  background-color: var(--scroll-track, transparent);
  border-radius: var(--scroll-track-radius, var(--scroll-radius));
}
body::-webkit-scrollbar-thumb {
  background-color: var(--scroll-thumb-color, grey);
  background-image: var(--scroll-thumb, none);
  border-radius: var(--scroll-thumb-radius, var(--scroll-radius));
}

Kişiselleştir

Bu noktaya kadar çubuğun farklı bir stili olacak ama asıl ilginç olan şimdi onu değişkenlerle özelleştirebilmeniz. İşte oluşturduklarımın tam listesi:

Değişken Varsayılan Açıklama
--scroll-size 10px Çubuk boyutu
--scroll-radius
null
Genel yuvarlak kenar
--scroll-track transparent Parça rengi (arka plan rengi)
--scroll-track-radius --scroll-radius Yuvarlatılmış yol kenarı
--scroll-thumb none Gösterge arka planı (arka plan resmi)
--scroll-thumb-color grey Gösterge rengi (arka plan rengi)
--scroll-thumb-radius --scroll-radius Gösterge yuvarlak kenar

Con estas variables puedes crear estilos de la barra principal. A continuación te proporciono algunos ejemplos, estos estilos son los mismos que puedes ver en la demostración en CodePen, solo copia el código que te guste (elige solo uno) y agrégalo a tus estilos:

Örnek 1

:root {
  --scroll-size: 10px;
  --scroll-radius: 10px;
  --scroll-track: rgb(0 0 0 / 40%);
  --scroll-thumb-color: #dfdfdf;
}

Örnek 2

:root {
  --scroll-size: 8px;
  --scroll-radius: 10px;
  --scroll-track: rgb(255 255 255 / 10%);
  --scroll-thumb-color: rgb(0 0 0 / 80%);
}

Örnek 3

:root {
  --scroll-size: 5px;
  --scroll-radius: 10px;
  --scroll-track: rgb(255 255 255 / 10%);
  --scroll-thumb-color: #fff;
}

oÖrnek 4

:root {
  --scroll-size: 12px;
  --scroll-radius: 20px;
  --scroll-track: rgb(0 0 0 / 40%);
  --scroll-thumb: linear-gradient(45deg,
      rgba(255, 255, 255, 0.25) 20%, transparent 20%,
      transparent 40%, rgba(255, 255, 255, 0.25) 40%,
      rgba(255, 255, 255, 0.25) 60%, transparent 60%,
      transparent 80%, rgba(255, 255, 255, 0.25) 80%);
  --scroll-thumb-color: #f97316;
}

Örnek 5

:root {
  --scroll-size: 15px;
  --scroll-radius: 20px;
  --scroll-track: rgb(255 255 255 / 10%);
  --scroll-thumb: linear-gradient(45deg, #00aeff, #a68eff);
}

Örnek 6

:root {
  --scroll-size: 12px;
  --scroll-radius: 20px;
  --scroll-track: rgb(0 0 0 / 40%);
  --scroll-thumb: linear-gradient(
      rgba(255, 255, 255, 0.3) 20%, transparent 20%,
      transparent 40%, rgba(255, 255, 255, 0.3) 40%,
      rgba(255, 255, 255, 0.3) 60%, transparent 60%,
      transparent 80%, rgba(255, 255, 255, 0.3) 80%);
  --scroll-thumb-color: #10b981;
}

Firefox desteği

Los navegadores basados en webkit no presentaran ningún problema al leer los estilos, sin embargo Firefox es la excepción. Si deseas incluirlo en la modificación, agrega el siguiente código:

html, body {
  scrollbar-color: var(--scroll-thumb-color, grey) var(--scroll-track, transparent);
  scrollbar-width: thin;
}

De esta manera parte de los estilos del scroll en otros navegadores, también los verás en Firefox, toma en cuenta que solo será el color del indicador y de la pista.

Mixin para Sass

Si eres desarrollador y quieres incluir en tu proyecto la posibilidad de editar la barra de desplazamiento, he diseñado el siguiente mixin que puede ayudarte, solo debes incluir el siguiente código a tu proyecto:

@mixin scroll-style($size: 10px,
  $thumb: none,
  $thumb-color: grey,
  $thumb-radius: 10px,
  $track-color: transparent,
  $track-radius: 10px) {

  // Respaldo para Firefox
  scrollbar-color: $thumb-color $track-color;
  scrollbar-width: thin;

  // Navegadores basados en webkit
  &::-webkit-scrollbar {
    width: $size;
    height: $size;
    &-track {
      background-color: $track-color;
      border-radius: $track-radius;
    }
    &-thumb {
      background-color: $thumb-color;
      background-image: $thumb;
      border-radius: $thumb-radius;
    }
  }
}

Argümanlar

La siguiente tabla contiene información de los parámetros del mixin que puedes definir, y su valor por defecto en caso de que no lo hagas:

Argumento Default Descripción
$size 10px Tamaño de la barra
$thumb none Fondo del indicador (background-image)
$thumb-color grey Color del indicador (background-color)
$thumb-radius 10px Borde redondeado del indicador
$track-color transparent Color de la pista (background-color)
$track-radius 10px Borde redondeado de la pista

Incluir

Puedes llamar al mixin y reemplazar el valor de los argumentos por defecto (en caso de que asi lo requieras), por ejemplo si quieres modificar el scroll de todo el documento:

:root {
  @include scroll-style($size: 10px, $thumb-color: #ccc);
}

Si prefieres crear una utilidad que puedas aplicar fácilmente a cualquier elemento y que esta incluya personalización con variables, quizás te interese realizarlo de esta manera:

.scroll {
  @include scroll-style(
      $size: var(--scroll-size),
      $thumb:  var(--scroll-thumb),
      $thumb-color: var(--scroll-thumb-color),
      $thumb-radius: var(--scroll-thumb-radius),
      $track-color: var(--scroll-track-color),
      $track-radius: var(--scroll-track-radius),
    );
}

Ahora solo debes definir las variables en tu archivo de configuración e incluir la clase de la utilidad a los elementos en donde se requiera:

<div class="scroll"></div>
:root {
  --scroll-size: 5px;
  --scroll-radius: 10px;
  --scroll-thumb-color: #464646;
  --scroll-track-color: transparent;
}

Elbette önerileriniz, düzeltmeleriniz varsa veya sadece nasıl yaptığınızı paylaşmak istiyorsanız, yorum bırakın. Mesajlarınızı okumaktan memnuniyet duyarım.

Çözüm

Kişisel olarak bu çubuğu değiştirme taraftarı olmasam da, web sitenize biraz daha kişilik kazandırmak veya bazı öğelerin tasarımını daha iyi entegre etmek çok yararlı olabilir.

Bu makale sizin için yararlı olduysa, paylaşmayı ve yorum olarak bırakabileceğiniz tüm soruları unutmayın, herkese cevap veriyorum. Okuduğunuz için teşekkürler.

Yorum yok