Apakah ada cara untuk membatasi panjang perbatasan? Saya memiliki <div>
yang memiliki batas bawah, tetapi saya ingin menambahkan perbatasan di sebelah kiri <div>
yang hanya membentang setengah jalan ke atas.
Apakah ada cara untuk melakukannya tanpa menambahkan elemen tambahan pada halaman?
Konten yang dihasilkan CSS dapat menyelesaikan masalah ini untuk Anda:
(catatan -
content: "";
deklarasi diperlukan agar elemen pseudo di-render)sumber
:after
Batu - batu :)Jika Anda bermain sedikit, Anda bahkan dapat mengatur elemen pembatas yang diubah ukurannya agar tampak di tengah atau hanya muncul jika ada elemen lain di sebelahnya (seperti di menu). Berikut ini adalah contoh dengan menu:
Tampilkan cuplikan kode
sumber
Namun kita dapat meniru efek perbatasan dan mengontrolnya
width
danheight
seperti yang kita inginkan dengan beberapa cara lain.Dengan CSS (Linear Gradient):
Kita dapat menggunakan
linear-gradient()
untuk membuat gambar latar belakang dan mengontrol ukuran dan posisinya dengan CSS sehingga terlihat seperti perbatasan. Karena kita dapat menerapkan beberapa gambar latar belakang ke suatu elemen, kita dapat menggunakan fitur ini untuk membuat beberapa perbatasan seperti gambar dan menerapkannya pada sisi elemen yang berbeda. Kami juga dapat menutupi area yang tersisa dengan warna solid, gradien atau gambar latar belakang.HTML yang dibutuhkan:
Yang kita butuhkan hanyalah satu elemen saja (mungkin memiliki beberapa kelas).
Langkah:
linear-gradient()
.background-size
untuk mengaturwidth
/height
dari gambar yang dibuat di atas sehingga terlihat seperti perbatasan.background-position
untuk menyesuaikan posisi (sepertileft
,right
,left bottom
dll) di atas perbatasan dibuat (s).CSS yang Diperlukan:
Contoh:
Dengan
linear-gradient()
kita dapat membuat batas warna solid serta memiliki gradien. Berikut adalah beberapa contoh perbatasan yang dibuat dengan metode ini.Contoh dengan batas diterapkan pada satu sisi saja:
Tampilkan cuplikan kode
Contoh dengan batas diterapkan pada dua sisi:
Tampilkan cuplikan kode
Contoh dengan batas diterapkan di semua sisi:
Tampilkan cuplikan kode
Tangkapan layar:
sumber
untuk garis horizontal Anda dapat menggunakan tag jam:
tetapi tidak mungkin untuk membatasi ketinggian perbatasan. hanya tinggi elemen.
sumber
height
. Untuk mengganti batas sel dalam penggunaan tag TD<td>your content<hr/></td>
.Batas didefinisikan hanya per sisi, bukan dalam pecahan sisi. Jadi, tidak, Anda tidak bisa melakukan itu.
Juga, elemen baru tidak akan menjadi perbatasan juga, itu hanya akan meniru perilaku yang Anda inginkan - tetapi itu masih akan menjadi elemen.
sumber
Cara lain untuk melakukan ini adalah menggunakan border-image dalam kombinasi dengan linear-gradient.
jsfiddle: https://jsfiddle.net/u7zq0amc/1/
Dukungan Browser: IE: 11+
Chrome: semua
Firefox: 15+
Untuk dukungan yang lebih baik juga tambahkan awalan vendor.
caniuse border-image
sumber
Ini adalah trik CSS, bukan solusi formal. Saya meninggalkan kode dengan periode hitam karena itu membantu saya memposisikan elemen. Setelah itu, warnai konten Anda (warna: putih) dan (margin-top: -5px atau lebih) untuk membuatnya seolah-olah periode tidak ada.
sumber
Solusi lain adalah Anda bisa menggunakan gambar latar belakang untuk meniru tampilan perbatasan kiri
Anda mungkin perlu mengubah untuk IE (seperti biasa) tetapi layak dicoba jika itu adalah desain yang Anda inginkan.
sumber
Anda dapat menetapkan satu batas per sisi saja. Anda harus menambahkan elemen tambahan untuk itu!
sumber