Saya ingin mengubah ketebalan aturan horizontal saya ( <hr>
) di CSS. Saya tahu ini bisa dilakukan dalam HTML seperti ini -
<hr size="10">
Tetapi saya mendengar bahwa ini sudah usang sebagaimana disebutkan di MDN di sini . Dalam CSS saya mencoba menggunakan height:1px
tetapi tidak mengubah ketebalan. Saya ingin <hr>
garis menjadi 0.5px
tebal.
Saya menggunakan Firefox 3.6.11 di Ubuntu
html
css
user-interface
Srikar Appalaraju
sumber
sumber
Jawaban:
Untuk konsistensi menghapus batas dan gunakan ketinggian untuk
<hr>
ketebalan. Menambahkan warna latar akan gaya Anda<hr>
dengan tinggi dan warna yang ditentukan.Di stylesheet Anda:
Atau sebaris seperti yang Anda miliki:
Penjelasan yang lebih panjang di sini
sumber
border:none
? Alasan apapun? Apakah perbatasan juga menambah ketebalan?<hr style="border: none; height:1px; color:#333; background-color:#333;">;
color
?Render sub-pixel di browser
Render sub-pixel rumit. Anda tidak dapat benar-benar mengharapkan monitor membuat garis tipis kurang dari satu piksel. Tetapi dimungkinkan untuk memberikan dimensi sub-piksel. Bergantung pada browser, mereka membuat ini berbeda. Lihat posting blog John Resig tentang hal ini.
Pada dasarnya jika monitor Anda adalah LCD dan Anda menggambar garis vertikal, Anda dapat dengan mudah menggambar garis 1/3 piksel. Jika latar belakang Anda putih, beri warna garis Anda
#f0f
. Untuk mata garis ini akan menjadi 1/3 dari lebar piksel. Meskipun akan berwarna, jika Anda memperbesar monitor, Anda akan melihat bahwa hanya satu segmen dari seluruh piksel (terdiri dari RGB) akan menjadi gelap. Ini cukup banyak teknik yang digunakan untuk mengisyaratkan tipe halus yaitu ClearType .Tapi garis horizontal hanya bisa setinggi pixel penuh. Itulah keterbatasan teknologi monitor LCD. CRT bahkan lebih rumit dengan fosfor segitiga mereka (kecuali mereka adalah tipe grille aperture yaitu. Sony Trinitron) tapi itu cerita yang berbeda.
Pada dasarnya memberikan dimensi sub-piksel dan mengharapkannya untuk merender dengan cara yang sama dengan mengharapkan variabel integer untuk menyimpan sejumlah 1,2034759349. Jika Anda memahami ini tidak mungkin, Anda harus memahami bahwa monitor tidak dapat membuat dimensi sub-pixel.
Gaya lintas browser yang aman
Namun cara aturan horisontal yang menyatu biasanya dilakukan dengan menggunakan warna. Jadi, jika latar belakang Anda misalnya putih (
#fff
) Anda selalu dapat membuat cahaya AndaHR
sangat . Seperti#eee
.Gaya aman lintas peramban untuk aturan horizontal yang sangat ringan adalah:
Dan gunakan file CSS alih-alih gaya in-line. Mereka memberikan definisi pusat untuk seluruh situs bukan hanya elemen tertentu. Itu membuat pemeliharaan lebih baik.
sumber
Saya mencari cara terpendek untuk menggambar garis 1px, karena seluruh beban CSS yang dipisahkan bukan solusi tercepat atau terpendek.
Hingga HTML5, WAS cara yang lebih pendek untuk 1px jam: <hr noshade> but .. Atribut noshade dari <hr> tidak didukung dalam HTML5. Gunakan CSS sebagai gantinya. (Atau attibutes lain yang digunakan sebelumnya, seperti ukuran, lebar, sejajar ) ...
Sekarang, ini cukup rumit, tetapi bekerja dengan baik jika paling sederhana diperlukan 1px jam:
Variasi 1, BLACK hr: (solusi terbaik untuk hitam)
Output: FF, Opera - hitam / Safari - abu-abu gelap
Variasi 2, ABU-ABU jam (terpendek!):
Output: Opera - abu-abu gelap / FF - abu-abu / Safari - abu-abu terang
Variasi 3, WARNA sesuai keinginan:
Output: Opera / FF / Safari: 1px merah.
sumber
Saya akan merekomendasikan pengaturan
HR
itu sendiri menjadi0px
tinggi dan menggunakan perbatasannya agar terlihat. Saya perhatikan bahwa ketika Anda memperbesar dan memperkecil (ctrl + roda mouse) ketebalannyaHR
sendiri berubah, sementara ketika Anda mengatur batasnya selalu tetap sama:sumber
atribut ketinggian telah ditinggalkan dalam html 5. Apa yang akan saya lakukan adalah membuat perbatasan di sekitar jam dan meningkatkan ketebalan perbatasan seperti: hr style = "border: solid 2px black;"
sumber
Saya menambahkan opacity ke baris, jadi sepertinya lebih tipis:
sumber
Saya percaya pencapaian terbaik untuk
<hr>
tag styling adalah sebagai berikut:Dan untuk kode HTML hanya menambahkan:
<hr>
.sumber
Inilah solusi untuk garis hitam 1 piksel tanpa batas atau margin
Saya pikir saya akan menambahkan ini karena jawaban yang lain tidak termasuk:
margin:0px;
.sumber
Saya sarankan untuk menggunakan konstruksi seperti
sumber