Apakah mungkin menargetkan <br/>
tag break-line dengan CSS?
Saya ingin memiliki garis putus-putus 1px setiap kali ada jeda baris. Saya menyesuaikan situs dengan CSS saya sendiri dan tidak dapat mengubah himpunan HTML, jika tidak saya akan menggunakan cara lain.
Saya tidak berpikir itu mungkin tapi mungkin ada cara seseorang tahu tentang itu.
html
css
line-breaks
dc3
sumber
sumber
Jawaban:
BR
menghasilkan break-line dan hanya break-line. Karena elemen ini tidak memiliki konten, hanya ada beberapa gaya yang masuk akal untuk diterapkan, seperticlear
atauposition
. Anda dapat mengaturBR
batas tetapi Anda tidak akan melihatnya karena tidak memiliki dimensi visual.Jika Anda ingin secara visual memisahkan dua kalimat, maka Anda mungkin ingin menggunakan penggaris horizontal yang ditujukan untuk tujuan ini. Karena Anda tidak dapat mengubah markup, saya khawatir hanya menggunakan CSS Anda tidak dapat mencapai ini.
Sepertinya, sudah dibahas di forum lain. Ekstrak dari Re: Mengatur ketinggian elemen BR menggunakan CSS :
Saya juga menemukan klarifikasi dalam spesifikasi CSS 1 (tidak ada spesifikasi tingkat yang lebih tinggi menyebutkannya):
Tes Grant Wagner menunjukkan bahwa tidak ada cara untuk bergaya
BR
seperti yang dapat Anda lakukan dengan elemen lain. Ada juga situs online di mana Anda dapat menguji hasilnya di browser Anda .Memperbarui
Pelms membuat beberapa penyelidikan lebih lanjut, dan menunjukkan bahwa IE8 (pada Win7) dan Chrome 2 / Safari 4b memungkinkan Anda untuk
BR
agak bergaya . Dan memang, saya memeriksa halaman demo IE dengan mesin IE8 IE Net Renderer , dan berhasil.Pembaruan 2 c69 melakukan beberapa penyelidikan lebih lanjut, dan ternyata Anda dapat men - style penanda dengan
br
cukup berat (walaupun, bukan browser-silang), namun ini tidak akan memengaruhi line-break itu sendiri, karena tampaknya milik wadah induk.sumber
Coba yang berikut ini, saya menggabungkannya menggunakan Pembaruan 2 dari jawaban lain dengan suara tinggi, dan itu berfungsi dengan baik untuk saya:
sumber
Ada satu alasan bagus Anda perlu mendesain
<br>
tag.Ketika itu adalah bagian dari kode Anda tidak ingin (atau tidak bisa) berubah dan Anda ingin ini
<br>
tidak ditampilkan.Dapat menghemat banyak waktu dan terkadang hari Anda.
sumber
Untuk kepentingan pengunjung masa depan yang mungkin telah melewatkan komentar saya:
tidak bekerja.
Ini telah diuji di IE 6, 7 & 8, Firefox 2, 3 & 3.5B4, Safari 3 & 4 untuk Windows, Opera 9.6 & 10 (alpha) dan Google Chrome (versi 2) dan tidak bekerja di salah satu mereka. Jika suatu saat nanti seseorang menemukan browser yang mendukung perbatasan pada suatu
<br>
elemen, silakan perbarui daftar ini.Perhatikan juga bahwa saya mencoba sejumlah hal lain:
Dari semua itu, berikut ini berfungsi di Opera 9.6 dan 10 (alpha) (terima kasih porneL!):
Tidak terlalu berguna ketika hanya didukung dalam satu browser, tetapi saya selalu merasa menarik untuk melihat bagaimana browser yang berbeda mengimplementasikan spesifikasi.
sumber
content:""; display:block
ke aturan kedua.Saya tahu Anda tidak dapat mengedit HTML, tetapi jika Anda dapat memodifikasi CSS, dapatkah Anda menambahkan javascript?
jika demikian, Anda bisa memasukkan jquery, maka Anda bisa melakukannya
sumber
render seperti di bawah ini di IE8 ... tidak banyak digunakan hanya dalam satu browser.
(NB Saya menggunakan IE 8.0.7100 (pada Win7 RC) jika itu membuat perbedaan)
Juga,
atau,
br { content: "" }
memberikan garis putus-putus di Chrome 2 / Safari 4b tetapi kehilangan jeda baris yang (kecuali siapa pun dapat menemukan cara untuk memperkenalkan kembali itu) membuatnya kurang berguna.
misalnya
uji IE8 , uji Chrome / Safari dan lainnya
sumber
BR
. Terima kasih, saya memperbarui jawaban saya dengan hasil pengujian Anda.Tes saya sendiri secara meyakinkan menunjukkan bahwa
br
tag tidak suka ditargetkan untuk css.Tetapi jika Anda dapat menambahkan gaya maka Anda mungkin juga dapat menambahkan tag skrip ke header halaman? Tautan ke eksternal
.js
yang melakukan sesuatu seperti ini:Jadi singkatnya, ini tidak optimal, tetapi inilah solusi saya.
sumber
ini tampaknya menyelesaikan masalah:
sumber
BR adalah elemen inline, bukan elemen blok.
Jadi, Anda perlu:
Kalau tidak, browser yang sedikit pemilih tentang hal-hal seperti itu akan menolak untuk menerapkan batas pada elemen BR Anda, karena elemen sebaris tidak memiliki batas, bantalan, atau margin.
sumber
DIPERBARUI 9/13/2019:
Tujuan penataan
<br>
tag seperti ini adalah untuk membuat jeda baris "lebih besar" (yaitu, dengan sedikit ruang ekstra di antara garis-garis).Kelas "oldbig" (di bawah) telah diuji dan berfungsi dengan baik di Chrome 66.0.3359.181, Firefox Quantum 60.0.2, Edge 42.17134.1.0 dan IE 11.48.17134.0, untuk bergaya. Sayangnya, itu rusak di Chrome versi 76 dan turunannya (sekitar Agustus 2019). Gejalanya adalah bahwa ruang ekstra antara garis tidak lagi ditampilkan.
Kelas "newbig" diuji dan berfungsi dengan baik di versi Chrome saat ini (76.0.3809.132), Opera, Firefox, Edge, IE, Brave, dan Palemoon:
Ini demo:
Ini hasilnya, ditampilkan di Chrome v.76:
sumber
Ini akan berhasil, tetapi hanya di IE. Saya mengujinya di IE8.
sumber
Saya menempatkan
<br>
tag ke dalam<span>
tag dan dapat digunakandisplay:none;
pada<span>
kontrol untuk tidak menggunakan<br>
tag menggunakan Kueri Media.sumber
<br>
secara langsung alih-alih membungkusnya dalam rentang?pertanyaan lama tapi ini adalah perbaikan yang cukup rapi dan bersih, mungkin digunakan untuk orang-orang yang masih bertanya-tanya apakah itu mungkin :):
dengan perbaikan ini, Anda juga dapat menghapus BR di situs web (cukup setel lebar ke 0px)
sumber
Mengapa tidak menggunakan tag HR saja? Itu dibuat persis untuk apa yang Anda inginkan. Agak suka mencoba membuat garpu untuk makan sup ketika ada sendok tepat di depan Anda di atas meja.
sumber