Rumah > hujung hadapan web > tutorial css > Bagaimanakah pembolehubah CSS berfungsi? Bagaimana untuk menggunakan pembolehubah CSS sebaris untuk susun atur?

Bagaimanakah pembolehubah CSS berfungsi? Bagaimana untuk menggunakan pembolehubah CSS sebaris untuk susun atur?

青灯夜游
Lepaskan: 2022-07-05 20:46:27
ke hadapan
2256 orang telah melayarinya

Artikel ini akan membawa anda memahami pembolehubah CSS, bercakap tentang cara pembolehubah CSS berfungsi dan memperkenalkan cara menggunakan pembolehubah CSS sebaris untuk meningkatkan kecekapan reka letak pintar saya harap ia akan membantu semua orang.

Bagaimanakah pembolehubah CSS berfungsi? Bagaimana untuk menggunakan pembolehubah CSS sebaris untuk susun atur?

Kadangkala saya memerlukan cara mudah untuk mencipta reka letak grid. Sebagai contoh, lukis grid lima lajur dengan cepat tanpa mengubah suai CSS setiap kali saya mengubah fikiran saya. Dalam artikel ini, kami meneroka beberapa kes penggunaan dan memikirkan cara untuk melaksanakan dan menggunakannya. [Pembelajaran yang disyorkan: tutorial video css]

Cara ia berfungsi

Sebelum mendalami konsep ini, mula-mula mari kita semak asas pembolehubah CSS juga boleh dipanggil "harta adat".

Semua penyemak imbas utama menyokong pembolehubah CSS Berikut ialah sokongan setiap penyemak imbas:

Bagaimanakah pembolehubah CSS berfungsi? Bagaimana untuk menggunakan pembolehubah CSS sebaris untuk susun atur?

Jika anda ingin mentakrifkan pembolehubah CSS. ialah pembolehubah global, anda perlu menambahkannya pada :root pengisytiharan (:root bersamaan dengan ). Jika pembolehubah adalah khusus untuk komponen, ia boleh ditakrifkan dalam pengisytiharan dalam kumpulan.

Dalam contoh di bawah, saya telah menentukan pembolehubah global --size yang digunakan untuk lebar dan ketinggian elemen square.

:root {
    --size: 50px;
}

.square {
    width: var(--size);
    height: var(--size);
}
Salin selepas log masuk

Apakah yang perlu dilakukan jika --size tidak ditakrifkan CSS menyokong penentuan pembolehubah lalai atau pembolehubah sandaran apabila pembolehubah yang diluluskan tidak sah.

dalam contoh di bawah. Jika var(--size, 10px) tidak sah, nilai lebar dan ketinggian akan menjadi --size. 10px

.square {
    width: var(--size, 10px);
    height: var(--size, 10px);
}
Salin selepas log masuk
Selain itu, anda juga boleh menggunakan pembolehubah CSS dalam gaya CSS sebaris. Contohnya,

HTML

<div></div>
Salin selepas log masuk

CSS

.elem {
    background: var(--background);
}
Salin selepas log masuk
Seterusnya, kami menggunakan konsep di atas dan menunjukkan beberapa kes.

Semua orang berkata bahawa tiada projek untuk menulis pada resume mereka, jadi saya menemui projek untuk anda dan juga disertakan [Tutorial Membina].

Contoh Grid CSS

Bar sisi dan Kandungan Utama

Bagaimanakah pembolehubah CSS berfungsi? Bagaimana untuk menggunakan pembolehubah CSS sebaris untuk susun atur?

dalam reka bentuk ini, saya menggunakan grid CSS untuk yang berikut:

  • Bar sisi dan menu utama

  • Item borang

  • Tiga -letak letak lajur

Lebar bar sisi ditetapkan dan kandungan utama berubah. Katakan lebar bar sisi ialah

. 240px

1. Bar sisi dan menu utama

Html

<div>
    <aside></aside>
    <main></main>
</div>
Salin selepas log masuk

Html

.o-grid {
    display: grid;
    grid-template-columns: var(--columns);
}
Salin selepas log masuk
Salin selepas log masuk

2. Item borang

Mengikut reka bentuk, setiap baris mempunyai dua lajur, dan struktur html adalah seperti berikut:

Html

  <div></div>   <div></div>   <div></div>   <div></div>
Salin selepas log masuk

CSS

.o-grid {
    display: grid;
    grid-template-columns: var(--columns);
}
Salin selepas log masuk
Salin selepas log masuk

3. Reka Letak Tiga Lajur

Dalam contoh di bawah , saya menambah

dan --repeat-number:3 sebagai CSS sebaris. Pembolehubah ini akan ditambahkan pada kelas --gap:8px dan tetapan grid akan berdasarkan pembolehubah ini. o-grid

HTML

  <div></div>   <div></div>   <div></div>
Salin selepas log masuk

CSS

.o-grid {
  display: grid;
  grid-template-columns: repeat(var(--repeat-number), 1fr);
  grid-gap: var(--gap, 0);
}
Salin selepas log masuk
Saya suka menambah nilai lalai dalam pembolehubah CSS hanya sekiranya Pembolehubah tidak ditetapkan. Dalam kod di atas, saya telah menggunakan

, jika pengguna tidak memberikan pembolehubah var(--gap, 0), nilai lalainya ialah --gap. 0

Item Grid Dinamik:

minmax

Bagi saya ini adalah kes penggunaan yang digunakan secara meluas dan sangat penting. Saya banyak menggunakan Grid

, tetapi saya menghadapi masalah apabila saya menggunakannya pada berbilang halaman. minmax

Mari kita ambil contoh asas tanpa menggunakan pembolehubah CSS.

Bagaimanakah pembolehubah CSS berfungsi? Bagaimana untuk menggunakan pembolehubah CSS sebaris untuk susun atur?

Dalam CSS, saya menggunakan

untuk mentakrifkan lebar minimum minmax bagi setiap item grid. 250px

CSS

.o-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr);
  grid-gap: 16px;
}
Salin selepas log masuk
Sekarang, apakah yang perlu anda lakukan jika reka bentuk anda memerlukan item grid sekurang-kurangnya

lebar? Adakah saya perlu mencipta versi seperti berikut? 300px

.o-grid--2 {
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
}
Salin selepas log masuk
Bayangkan mempunyai lima grid berbeza, setiap satu dengan lebar item berbeza, jadi perkara di atas bukanlah penyelesaian yang betul.

Menggunakan pembolehubah CSS, saya boleh melakukan perkara berikut

.o-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(var(--item-width), 1fr);
    grid-gap: var(--gap);
}
Salin selepas log masuk
Dalam HTML, saya boleh menetapkan pembolehubah CSS pada teg:


     <div></div>      <div></div>      <div></div>
     <div></div>      <div></div>      <div></div>
     <div></div>      <div></div>      <div></div>
Salin selepas log masuk
Kod Sumber Contoh : https://codepen.io/shadeed/pen/xxxPYog/7d3e0d575a5cecb86233fc7d72fa90d4

Contoh Flexbox

Dalam contoh, terdapat tajuk artikel, yang mengandungi nama pengarang dan tag . Kaedah reka letak pada halaman ini berubah secara dinamik, jadi kaedah untuk menukar kaedah reka letak ini dengan cepat diperlukan.

HTML

<div>
    <h2>Article title</h2>
    <div>
        <p>By Ahmad Shadeed</p>
        <p>Published under: CSS, Design</p>
    </div>
</div>
Salin selepas log masuk

CSS

.article-header__meta {
    display: flex;
    justify-content: var(--justify);
}
Salin selepas log masuk

有了它,我可以调整内联样式以将值更改为另一个关键字。 我发现这在进行快速原型制作甚至是制作网站时很有用。

按钮

按钮宽度

CSS 变量也适用于按钮元素。 假设有一个带有两个input字段和一个按钮的表单。

Bagaimanakah pembolehubah CSS berfungsi? Bagaimana untuk menggunakan pembolehubah CSS sebaris untuk susun atur?

我的目的是通过使用内联CSS变量来控制按钮的宽度。 有时,按钮应占据其父控件的100%宽度。

html

<button>Submit</button>
Salin selepas log masuk

css

.c-button {
    /* Other styles */
    width: var(--width, initial);
}
Salin selepas log masuk

Bagaimanakah pembolehubah CSS berfungsi? Bagaimana untuk menggunakan pembolehubah CSS sebaris untuk susun atur?

按钮颜色

另一个有用的用途是当有重影按钮(轮廓按钮)时。 按钮的颜色可以是任何颜色,通过使用CSS变量,可以轻松更改颜色。

HTML

<button>Save Edits</button>
<button>Delete</button>
Salin selepas log masuk

CSS

.c-button--ghost {
  /* Other styles */
  background: transparent;
  color: var(--color, #000);
  border-color: currentColor;
}
Salin selepas log masuk

Bagaimanakah pembolehubah CSS berfungsi? Bagaimana untuk menggunakan pembolehubah CSS sebaris untuk susun atur?

CSS 变量同样适合悬停效果。悬停时,按钮背景将变为纯色,并且字体颜色为白色。

Bagaimanakah pembolehubah CSS berfungsi? Bagaimana untuk menggunakan pembolehubah CSS sebaris untuk susun atur?

事例源码:https://codepen.io/shadeed/pen/NWWXqqX/f8e6969d5145d4dcd81aacf7a037c995

用户头像

每个角色的大小都不同,这非常适合用 CSS 变量来解决。假设有四个不同大小的用户头像。

Bagaimanakah pembolehubah CSS berfungsi? Bagaimana untuk menggunakan pembolehubah CSS sebaris untuk susun atur?

在CSS中,定义了以下样式:

.c-avatar {
  display: inline-block;
  margin-right: 2rem;
  width: calc(var(--size, 1) * 30px);
  height: calc(var(--size, 1) * 30px);
  object-fit: cover;
  border-radius: 50%;
  box-shadow: 0 3px 10px 0 rgba(#000, 0.2);
}
Salin selepas log masuk

通过使用Calc()函数,我可以传递一个--size 变量,它将乘以一个基本宽度值,在HTML中定义 --size变量:

<img  alt="Bagaimanakah pembolehubah CSS berfungsi? Bagaimana untuk menggunakan pembolehubah CSS sebaris untuk susun atur?" >
<img  alt="Bagaimanakah pembolehubah CSS berfungsi? Bagaimana untuk menggunakan pembolehubah CSS sebaris untuk susun atur?" >
<img  alt="Bagaimanakah pembolehubah CSS berfungsi? Bagaimana untuk menggunakan pembolehubah CSS sebaris untuk susun atur?" >
<img  alt="Bagaimanakah pembolehubah CSS berfungsi? Bagaimana untuk menggunakan pembolehubah CSS sebaris untuk susun atur?" >
Salin selepas log masuk

事例源码:https://codepen.io/shadeed/pen/WNNdErw/cdaac5ff667e1f7d9c8241655441f10d

作者:Ahmad shaded

原文:https://css-tricks.com/patterns-for-practical-css-custom-properties-use/

(学习视频分享:web前端

Atas ialah kandungan terperinci Bagaimanakah pembolehubah CSS berfungsi? Bagaimana untuk menggunakan pembolehubah CSS sebaris untuk susun atur?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:segmentfault.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan