Saya bekerja di situs yang memiliki jeda baris seperti <br>
di beberapa judul. Dengan asumsi saya tidak dapat mengedit HTML sumber, apakah ada cara dengan CSS saya dapat mengabaikan jeda ini?
Saya sedang mengoptimalkan situs untuk seluler, jadi saya tidak benar-benar ingin menggunakan JavaScript.
br
elemen! Alasannya sudah dijelaskan berkali-kali! Dalam jawaban saya, saya menunjukkan kepada Anda metode alternatif untuk mencapai tujuan dengan cara yang valid, kuat, dan lintas browser.Jawaban:
Dengan css, Anda dapat "menyembunyikan" tag br dan mereka tidak akan berpengaruh:
Jika Anda hanya ingin menyembunyikan beberapa dalam tipe heading tertentu, buat saja css Anda lebih spesifik.
sumber
Catatan: Solusi ini hanya berfungsi untuk browser Webkit, yang salah menerapkan elemen semu ke tag yang menutup sendiri.
Sebagai tambahan dari jawaban di atas, perlu dicatat bahwa dalam beberapa kasus seseorang perlu memasukkan spasi daripada hanya mengabaikan
<br>
:Misalnya jawaban di atas akan berubah
untuk
seperti yang telah saya verifikasi saat mencoba memformat kalender acara mingguan saya. Spasi setelah "Senin" lebih disukai untuk disisipkan. Ini dapat dilakukan dengan mudah dengan memasukkan yang berikut ini ke dalam CSS:
Ini akan membuat
terlihat seperti
Anda dapat mengubah
content
atributbr:after
menjadi', '
jika Anda ingin memisahkan dengan koma, atau meletakkan apapun yang Anda inginkan di dalamnya' '
untuk menjadikannya pembatas! Ngomong-ngomongterlihat rapi ;-)
Lihat di sini untuk referensi.
Seperti pada jawaban di atas, jika Anda ingin membuatnya spesifik untuk tag, Anda bisa. Seperti jika Anda ingin properti ini berfungsi untuk tag
<h3>
, cukup tambahkanh3
masing - masing sebelumbr
danbr:after
, misalnya.Ini bekerja paling umum untuk pseudo-tag.
sumber
<br />
salah satu elemen yang pseudo-element tidak seharusnya bekerja . Dancontent
hanya bekerja pada elemen semu.Jika Anda menambahkan gaya
Maka ini akan berhasil. Tidak yakin apakah itu akan berfungsi di versi IE yang lebih lama.
sumber
Inilah cara saya melakukannya:
sumber
Anda dapat menggunakan
span
elemen alih-alihbr
jika Anda ingin metode spasi putih berfungsi, karena ini bergantung pada elemen pseudo yang "tidak ditentukan" untuk elemen yang diganti.HTML
CSS
DEMO
Jeda baris hanya dicapai dengan menyetel elemen rentang yang sesuai ke
display:block
.Dengan menggunakan ID dan / atau Kelas di markup HTML Anda, Anda dapat dengan mudah menargetkan setiap atau kombinasi elemen rentang dengan CSS atau menggunakan pemilih CSS seperti
nth-child()
.Jadi, Anda dapat, misalnya, menentukan break point yang berbeda dengan menggunakan kueri media untuk tata letak responsif.
Dan Anda juga dapat menambahkan / menghapus / beralih kelas dengan Javascript (jQuery).
"Keuntungan" dari metode ini adalah ketangguhannya - berfungsi di setiap browser yang mendukung elemen semu (lihat: Dapatkah saya menggunakan - konten yang dihasilkan CSS ).
Sebagai alternatif, dimungkinkan juga untuk menambahkan jeda baris melalui pseudo-elemen:
DEMO
sumber
<br>
, setidaknya tidak dengan lintas-browser. Jadi saya menunjukkan alternatif.<br>
unsur memecahkan masalah (mungkin menggantinya dengan spasi). Jadi keseluruhan masalah yang menjadi perhatian pertanyaan secara keseluruhan adalah ketika seseorang tidak memiliki kendali atas html ; diperumit dengan ketentuan tambahan bahwa mereka benar-benar tidak ingin menggunakan javascript (dengan alasan apa pun) untuk menyelesaikannya.<br>
dengan CSS?" sudah dijawab. Dan hanya jika Anda mengendalikan HTML itu tidak berarti, Anda ingin mengubahnya. Namun dalam desain responsif seringkali diinginkan untuk mengontrol jeda baris (selain pembungkus otomatis). Dan dalam kasus seperti itu, metode memiliki ruang putih atau tidak dikontrol oleh CSS (kueri media) setidaknya merupakan "satu metode" untuk mencapai tujuan.Bagi saya terlihat lebih baik seperti ini:
Some text, Some text, Some text
sumber
Untuk itu Anda bisa melakukan seperti ini:
dan jika berada di dalam beberapa tag PRE, maka Anda bisa dan jika Anda ingin tag PRE berperilaku seperti elemen blok biasa, Anda dapat menggunakan CSS ini:
Atau Anda bisa mengikuti gaya Aneesh Karthik C seperti:
Saya pikir Anda mengerti
sumber
::before
dan::after
setidaknya "tidak ditentukan" untuk "elemen yang diganti"br
. Jadi tidak akan pernah ada perilaku browser yang konsisten yang dapat diandalkan! Satu-satunya hal yang dapat Anda lakukan adalah tidak menggunakan elemen pseudo dengan elemen ini!Sesuai pertanyaan Anda, untuk mengatasi masalah ini untuk Firefox dan Opera menggunakan pendekatan Aneesh Karthik C Anda perlu menambahkan atribut "float" right ".
Lihat contohnya di sini. CSS ini berfungsi di Firefox (26.0), Opera (12.15), Chrome (32.0.1700) dan Safari (7.0)
Saya harap ini akan menjawab pertanyaan Anda !!
sumber
br
sudah dijawab (lebih dari satu kali). Pertanyaannya adalah tentang ruang putih bersyarat . Dan karena ini membutuhkan penggunaan elemen pseudo, ini tidak berfungsibr
.br
hanyalah omong kosong! Dan saya masih tidak bisa melihat apa hubungan sisa jawaban Anda dengan "ruang putih bersyarat dan brekas baris"? Mungkin bisa dijelaskan lebih lanjut, ya?br
elemen. Jika Anda menghapusnya, Anda akan melihat itu tidak berfungsi untuk menambah ruang apa pun.br
elemen, dengan spasi sebelum dan sesudah elemen pertama dan terakhir. Ruang-ruang itulah yang membuat solusi Anda tampak berfungsi, padahal sebenarnya tidak. Saat Anda menghapus spasi tersebut, seperti yang saya lakukan dalam contoh saya yang telah direvisi, Anda dapat melihat bahwa solusi Anda tidak menambahkan spasi sama sekali di Firefox.Meskipun pertanyaan ini tampaknya sudah terpecahkan, jawaban yang diterima tidak menyelesaikan masalah untuk saya di Firefox. Firefox (dan mungkin IE, meskipun saya belum mencobanya) lewati spasi saat membaca konten dari tag "konten". Meskipun saya benar-benar memahami mengapa Mozilla melakukan itu, hal itu membawa banyak masalah. Solusi termudah yang saya temukan adalah menggunakan ruang yang tidak dapat dipecahkan, bukan yang biasa seperti yang ditunjukkan di bawah ini.
Coba lihat .
sumber
before
elemen pada abr
? Anda bahkan tidak memilikibr
html di biola. Sebagian dari masalahnya adalah bahwa halbefore
itu tidak berfungsi pada abr
di beberapa browser.Ya, Anda bisa mengabaikan ini
<br>
. Anda mungkin memerlukan ini terutama dalam kasus desain responsif di mana Anda perlu menghapus jeda untuk perangkat seluler.HTML
Contoh CSS untuk seluler
Lihat Codepen ini:
https://codepen.io/fluidbrush/pen/pojGQyM
sumber
Anda cukup mengubahnya dalam komentar ..
Atau Anda bisa melakukan ini:
Tetapi jika Anda tidak menginginkannya mengapa Anda menaruhnya di sana?
sumber