Reka bentuk butang laman web: Tiga Gaya dan Pelaksanaan CSS
Artikel ini telah dikemas kini pada 9 Julai 2016 dan telah menggantikan tag dengan tag <a></a>
untuk mematuhi amalan terbaik akses moden. Jika anda sedang mengusahakan butang, selalu berpegang pada tag <button></button>
. <button></button>
Butang
Sebelum menyelidiki pelbagai konsep reka bentuk butang, kita perlu mengkaji beberapa pengetahuan asas mengenai butang CSS. Jika anda tidak tahu komponen CSS mana yang akan berubah, tidak masuk akal untuk memahami perbezaan pemikiran antara UI yang diratakan dan reka bentuk bahan.
mari kita cepat semak asas butang CSS.
mata utama
<button></button>
:hover
. :active
Asas butang CSS
Definisi butang yang baik berbeza dari laman web ke laman web, tetapi terdapat beberapa piawaian bukan teknikal:
dan :hover
. :active
Pseudo-Class mentakrifkan bagaimana CSS harus berubah apabila tetikus melayang ke atas objek. :hover
paling sering dilakukan di antara pengguna yang menekan butang tetikus dan melepaskan butang tetikus. :active
Paparan keseluruhan butang boleh diubah menggunakan kelas pseudo, tetapi ini bukan pendekatan mesra pengguna. Strategi yang baik untuk pemula adalah untuk membuat perubahan kecil atau mudah kepada elemen asas butang sambil mengekalkan butang yang biasa. Tiga elemen asas utama butang adalah warna, bayang -bayang, dan masa penukaran.
Ini adalah perubahan yang paling biasa. Kita boleh mengubah warna pelbagai atribut, sifat -sifat yang paling mudah adalah color
, background-color
dan border
sifat. Sebelum kita melompat ke contoh, mari fokus terlebih dahulu pada cara memilih warna butang:
box-shadow
membolehkan anda menambah bayang -bayang di sekitar objek. Bayang -bayang yang unik boleh ditambah ke setiap sisi, dan UI dan reka bentuk bahan yang diratakan mengambil kesempatan daripada idea itu. Untuk mengetahui lebih lanjut mengenai box-shadow
, sila periksa dokumentasi MDN box-shadow
.
transition-duration
membolehkan anda menambah skala masa untuk perubahan CSS. Butang tanpa masa penukaran akan segera diubah menjadi :hover
CSS, yang mungkin menyinggung perasaan kepada pengguna. Banyak butang dalam panduan ini menggunakan masa penukaran untuk mencipta rasa semula jadi.
Contoh berikut menukarkan gaya butang dengan cara yang lembut (lebih dari 0.5 saat) apabila :hover
:
.color-change { border-radius: 5px; font-size: 20px; padding: 14px 80px; cursor: pointer; color: #fff; background-color: #00A6FF; font-size: 1.5rem; font-family: 'Roboto'; font-weight: 100; border: 1px solid #fff; box-shadow: 2px 2px 5px #AFE9FF; transition-duration: 0.5s; -webkit-transition-duration: 0.5s; -moz-transition-duration: 0.5s; } .color-change:hover { color: #006398; border: 1px solid #006398; box-shadow: 2px 2px 20px #AFE9FF; }
Kod untuk menjalankan penukaran adalah rumit, jadi pelayar lama mengendalikan penukaran sedikit berbeza. Oleh itu, kita perlu memasukkan awalan vendor untuk pelayar yang lebih tua.
transition-duration: 0.5s /* 这是标准的,并且适用于大多数现代浏览器 */ -webkit-transition-duration: 0.5s; /* 帮助某些版本的Safari、Chrome和Android */ -moz-transition-duration: 0.5s; /* 帮助Firefox */
Untuk mengalih keluar gaya penyemak imbas lalai dari unsur -unsur <button>
supaya kami dapat memberikannya dengan gaya tersuai, kami menyertakan CSS berikut:
button.your-button-class { -webkit-appearance: none; -moz-appearance: none; }
Terdapat banyak cara yang kompleks dan menarik untuk mengubah cara mengubah CSS anda, dan semakan cepat ini hanya merangkumi asas -asas.
Gaya Tiga Butang
1 - Butang hitam dan putih sederhanaKedua -dua perubahan ini sangat serupa, jadi kami hanya akan memperkenalkan kod dengan butang hitam dengan latar belakang putih. Untuk mendapatkan butang lain, hanya flip setiap putih dan hitam.
.color-change { border-radius: 5px; font-size: 20px; padding: 14px 80px; cursor: pointer; color: #fff; background-color: #00A6FF; font-size: 1.5rem; font-family: 'Roboto'; font-weight: 100; border: 1px solid #fff; box-shadow: 2px 2px 5px #AFE9FF; transition-duration: 0.5s; -webkit-transition-duration: 0.5s; -moz-transition-duration: 0.5s; } .color-change:hover { color: #006398; border: 1px solid #006398; box-shadow: 2px 2px 20px #AFE9FF; }
Dalam gaya di atas, anda akan melihat font dan background-color
perubahan dalam kedua -dua arah sepanjang tempoh penukaran. Ini adalah contoh yang sangat mudah. Untuk membina dari sini, anda boleh menggunakan warna jenama kegemaran anda sebagai inspirasi. Menggunakan BrandColors adalah cara terbaik untuk mencari warna jenis jenama ini. .2s
mari kita memperbaiki butang sebelumnya dengan menambah pergerakan butang untuk mensimulasikan butang 3D.
Contoh ini mengandungi lima butang, tetapi kerana satu -satunya perubahan adalah warna, kita akan memberi tumpuan kepada butang pertama.
transition-duration: 0.5s /* 这是标准的,并且适用于大多数现代浏览器 */ -webkit-transition-duration: 0.5s; /* 帮助某些版本的Safari、Chrome和Android */ -moz-transition-duration: 0.5s; /* 帮助Firefox */
dan :hover
. :active
hanya mengandungi satu baris kod untuk mengurangkan kelegapan. Ini adalah helah yang berguna untuk membuat butang kelihatan lebih ringan tanpa anda mencari warna yang baru, sebenarnya lebih ringan. :hover
bukan garis seragam yang kukuh, tetapi menggunakan border
, border-bottom
dan border-left
untuk membuat kesan kedalaman 3D. border-right
. Apabila butang contoh kami menjadi :active
, dua perkara berlaku. :active
border-bottom
untuk membuat gerakan cetek. Perlu diingat bahawa beberapa butang UI rata tidak bergerak sama sekali, hanya mengambil kesempatan daripada perubahan warna. border-bottom
Nota: Contoh ini tidak termasuk tag kerana ia mengikuti tag lalai butang polimer, tetapi jika anda melaksanakan polimer dalam projek besar, ia patut meneroka penggunaan tag <button>
dalam pelaksanaan anda Bukannya tag <button>
. Kami akan meneroka ini dengan lebih terperinci dalam artikel masa depan. <a>
Butang ini menggunakan dua idea utama - box-shadow
dan polimer.
Polimer adalah rangka komponen dan alat untuk membantu laman web reka bentuk. Jika anda sudah biasa dengan Bootstrap, polimer sangat serupa. Kesan riak yang kuat yang terdapat di atas boleh ditambah hanya dalam satu baris kod.
.color-change { border-radius: 5px; font-size: 20px; padding: 14px 80px; cursor: pointer; color: #fff; background-color: #00A6FF; font-size: 1.5rem; font-family: 'Roboto'; font-weight: 100; border: 1px solid #fff; box-shadow: 2px 2px 5px #AFE9FF; transition-duration: 0.5s; -webkit-transition-duration: 0.5s; -moz-transition-duration: 0.5s; } .color-change:hover { color: #006398; border: 1px solid #006398; box-shadow: 2px 2px 20px #AFE9FF; }
<paper-ripple fit></paper-ripple>
adalah komponen polimer. Dengan mengimport polimer pada permulaan HTML, kita boleh mengakses kerangka popular dan komponen mereka. Ketahui lebih lanjut mengenai Laman Utama Projek Polimer.
Sekarang kita faham apa polimer dan di mana riak -riak berasal (bagaimana ia berfungsi adalah cerita lain), mari kita bincangkan CSS yang membantu melaksanakan prinsip reka bentuk bahan untuk membuat butang menonjol.
transition-duration: 0.5s /* 这是标准的,并且适用于大多数现代浏览器 */ -webkit-transition-duration: 0.5s; /* 帮助某些版本的Safari、Chrome和Android */ -moz-transition-duration: 0.5s; /* 帮助Firefox */
Butang ini menggunakan box-shadow
untuk mencapai kebanyakan reka bentuk. Mari kita lihat bagaimana box-shadow
perubahan dan memainkan sihirnya dengan mengeluarkan CSS yang tidak berubah:
button.your-button-class { -webkit-appearance: none; -moz-appearance: none; }
box-shadow
digunakan untuk meletakkan bayangan nipis di sebelah kiri dan bawah setiap butang. Apabila diklik, bayang -bayang meluas dan menjadi kurang gelap. Tindakan ini mensimulasikan bayangan 3D butang melompat dari halaman ke pengguna. Tindakan ini adalah sebahagian daripada gaya reka bentuk bahan dan prinsip aplikasi praktikal mereka.
Butang reka bentuk bahan boleh dibuat dengan menggabungkan polimer dengan kesan box-shadow
.
box-shadow
, kita boleh mensimulasikan bayang-bayang 3D yang muncul dalam objek dunia sebenar box-shadow
Kesimpulan
butang hitam dan putih adalah mudah dan boleh dipercayai. Gantikan hitam dan putih dengan warna jenama anda untuk mendapatkan akses cepat ke butang yang berkaitan dengan laman web anda. Butang UI rata adalah mudah dan menggunakan tindakan kecil dan warna untuk menceritakan kisah besar. Butang reka bentuk bahan menggunakan tindakan kompleks besar untuk mensimulasikan bayang -bayang dunia nyata, dengan itu menarik perhatian pengguna.Harap panduan ini akan membantu pemula CSS memahami blok bangunan yang membuat butang begitu kuat dan kreatif.
Soalan -soalan yang sering ditanya mengenai butang CSS moden
Membuat butang CSS mudah melibatkan menentukan kelas dalam fail CSS anda dan memohon kepada elemen butang dalam fail HTML. Sebagai contoh, anda boleh menentukan kelas .button
dalam fail CSS yang mengandungi atribut seperti background-color
, color
, border
, padding
, text-align
, text-decoration
, display
, cursor
, .button
, .button
, dan
:hover
Bagaimana untuk menambah kesan hover ke butang CSS? :hover
Bagaimana untuk membuat butang CSS dengan ikon?
Bagaimana untuk membuat butang CSS dengan kecerunan? linear-gradient()
radial-gradient()
butang CSS dengan kecerunan boleh dibuat menggunakan fungsi
Bagaimana untuk membuat butang CSS dengan sudut bulat? border-radius
border-radius
Butang CSS dengan sudut bulat boleh dibuat menggunakan atribut
Bagaimana untuk membuat butang CSS dengan bayangan? box-shadow
box-shadow
Butang CSS dengan bayang -bayang boleh dibuat menggunakan atribut
Bagaimana untuk membuat butang CSS dengan peralihan? transition
transition
Butang CSS dengan peralihan boleh dibuat menggunakan atribut
Butang CSS dengan animasi boleh dibuat menggunakan sifat animation
dan keyframes
peraturan. Atribut animation
digunakan untuk menentukan nama, tempoh, fungsi masa, kelewatan, bilangan lelaran, arah, mod isi, dan status main balik animasi. Peraturan keyframes
digunakan untuk menentukan gaya untuk setiap peringkat animasi.
Butang CSS responsif boleh dibuat menggunakan pertanyaan media. Pertanyaan media digunakan untuk menggunakan gaya yang berbeza untuk peranti atau saiz skrin yang berbeza. Sebagai contoh, anda boleh menentukan pertanyaan media yang mengubah saiz, mengisi, dan saiz fon butang untuk skrin dengan lebar kurang daripada 600 piksel.
dan transform
boleh digunakan untuk membuat butang bulat atau bujur. Hartanah border-radius
boleh digunakan untuk memutar, zum, kecondongan, atau butang pan. transform
Atas ialah kandungan terperinci Pengenalan kepada asas -asas butang CSS moden. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!