Adakah cara untuk mendeklarasikan ukuran / batas parsial ke kotak di CSS? Misalnya sebuah kotak dengan 350px
yang hanya memperlihatkan tepi-bawah pada awalnya 60px
. Saya pikir itu mungkin sangat berguna.
Contoh:
Tidak juga. Tetapi sangat mudah untuk mencapai efek dengan cara yang terdegradasi dengan anggun dan tidak memerlukan markup yang berlebihan:
div {
width: 350px;
height: 100px;
background: lightgray;
position: relative;
margin: 20px;
}
div:after {
content: '';
width: 60px;
height: 4px;
background: gray;
position: absolute;
bottom: -4px;
}
<div></div>
::outside
dan::inside
elemen semu belum tersedia, saya benci memberi markup hanya untuk gaya, tapi saya rasa tidak ada cara lain.content
di:after
sebagai gaya inline atau JSS, tetapi bekerja dengan baik menggunakan komponen bergaya.Saya tahu, ini sudah diselesaikan dan piksel diminta. Namun, saya hanya ingin berbagi sesuatu ...
Elemen teks yang digarisbawahi sebagian dapat dengan mudah dicapai dengan menggunakan
display:table
ataudisplay:inline-block
(Saya hanya tidak menggunakan
display:inline-block
karena, ya Anda tahu,4px
celah- canggung ).Elemen Tekstual
Pemusatan ,
display:table
tidak memungkinkan untuk memusatkan elementext-align:center
.Mari kita atasi dengan
margin:auto
...Yah , itu bagus, tapi tidak hanya sebagian .
Seperti rak buku yang sudah diperkenalkan, elemen semu bernilai emas.
Offset , sekarang garis bawahnya rata kiri. Untuk memusatkannya, cukup dorong elemen semu setengah dari its
width
(50% / 2 = 25%
) ke kanan.... sebagai davidmatas dikomentari , menggunakan
margin:auto
terkadang lebih praktis, daripada menghitung-margin
offset dengan tangan.Jadi, kita bisa menyelaraskan garis bawah ke kiri, kanan atau tengah (tanpa mengetahui arus
width
) dengan menggunakan salah satu kombinasi berikut:margin-right: auto
(atau biarkan saja)margin: auto
margin-left: auto
Contoh lengkapnya
Elemen Tingkat Blok
Ini dapat dengan mudah diadopsi, sehingga kita dapat menggunakan elemen level blok. Triknya adalah dengan mengatur ketinggian elemen semu ke ketinggian yang sama dengan elemen aslinya (sederhana
height:100%
):sumber
:after
saya lebih sukamargin: 0 auto
pendekatan daripadamargin-left: 25%
karena itu akan bekerja dengan lebar apa pun yang Anda nyatakan tanpa perlu melakukan matematika.auto
- simplificator :)Berikut adalah solusi lain yang bergantung pada
linear-gradient
tempat Anda dapat dengan mudah membuat jenis garis apa pun yang Anda inginkan. Anda juga dapat memiliki beberapa baris (di setiap sisi misalnya) dengan menggunakan beberapa latar belakang:Tampilkan cuplikan kode
Berikut adalah sintaks lain untuk mencapai hal yang sama seperti di atas:
sumber
Saya menggunakan kisi untuk menggambar beberapa batas.
Lihat disini .
Kode:
sumber
CSS tidak mendukung batas parsial. Anda perlu menggunakan elemen yang berdekatan untuk mensimulasikan ini.
sumber