Saya ingin tahu opsi apa saja yang ada di xhtml 1.0 ketat untuk membuat garis di kedua sisi teks seperti-jadi:
Bagian satu ----------------------- Bagian selanjutnya ----------------------- Bagian dua
Saya sudah memikirkan melakukan beberapa hal mewah seperti ini:
<div style="float:left; width: 44%;"><hr/></div>
<div style="float:right; width: 44%;"><hr/></div>
Next section
Atau sebagai alternatif, karena hal di atas memiliki masalah dengan penyelarasan (baik vertikal dan horizontal):
<table><tr>
<td style="width:47%"><hr/></td>
<td style="vertical-align:middle; text-align: center">Next section</td>
<td style="width:47%"><hr/></td>
</tr></table>
Ini juga memiliki masalah pelurusan, yang saya selesaikan dengan kekacauan ini:
<table><tr>
<td style="border-bottom: 1px solid gray; width: 47%"> </td>
<td style="vertical-align:middle;text-align:center" rowspan="2">Next section</td>
<td style="border-bottom: 1px solid gray; width: 47%"> </td>
</tr><tr>
<td> </td>
<td> </td>
</tr></table>
Selain masalah pelurusan, kedua opsi ini terasa 'aneh', dan saya akan sangat berkewajiban jika Anda pernah melihat ini sebelumnya dan mengetahui solusi yang elegan.
.divider
).Jawaban:
Saya tidak tahu apakah ini sudah diketahui tetapi flexbox menawarkan solusi yang cukup:
Lihat http://jsfiddle.net/MatTheCat/Laut6zyc/ untuk demo.
Hari ini kompatibilitasnya tidak terlalu buruk (Anda dapat menambahkan semua sintaks flexbox lama) dan menurun dengan anggun.
sumber
Bagaimana tentang:
Lihat ini JSFiddle .
Anda dapat menggunakan
vw
atau%
membuatnya responsif .sumber
font-size
.Cara mengatasi ini tanpa mengetahui lebar dan warna latar belakang adalah sebagai berikut:
Struktur
CSS
Contoh: http://jsfiddle.net/z8Hnz/
Garis ganda
Untuk membuat garis ganda, gunakan salah satu opsi berikut:
1) Memperbaiki ruang antar garis
Contoh: http://jsfiddle.net/z8Hnz/103/
2) Ruang khusus antar garis
Contoh: http://jsfiddle.net/z8Hnz/105/
Versi SASS (SCSS)
Berdasarkan solusi ini, saya menambahkan SCSS "dengan properti warna" jika dapat membantu seseorang ...
contoh penggunaan:
sumber
Anda dapat mencapai ini dengan :: before dan :: after tanpa mengetahui lebar wadah atau warna latar belakang, dan untuk mencapai gaya penataan garis yang lebih besar. Misalnya, ini dapat dimodifikasi untuk membuat garis ganda, garis putus-putus, dll.
JSFiddle
Penggunaan CSS, dan HTML:
Versi SCSS:
sumber
Coba ini:
Pratinjau langsung di jsFiddle .
sumber
.divider hr
lebar tergantung pada berapa lama teks tersebut. Saran:.divider
dan.divider hr
lebar harus ditentukan dalamem
satuan. Untuk mendapatkanhr
lebar, gunakan (.divider
lebar dikurangi # karakter) / 2.Saya baru saja menemukan masalah yang sama, berikut adalah salah satu cara untuk menyelesaikannya:
Ini bekerja tanpa menetapkan latar belakang pada elemen teks, yaitu akan terlihat bagus terlepas dari latar belakang apa yang ada di belakangnya.
Anda dapat mencobanya di sini: http://jsfiddle.net/88vgS/
sumber
MEMPERBARUI: Ini tidak akan berfungsi menggunakan HTML5
Alih-alih, periksa pertanyaan ini untuk lebih banyak teknik: tantangan CSS, dapatkah saya melakukan ini tanpa memperkenalkan lebih banyak HTML?
Saya biasa
line-height:0
membuat efek di header situs saya guerilla-alumnus.comMetode lain yang baik aktif http://robots.thoughtbot.com/
Dia menggunakan gambar latar belakang dan mengapung untuk mencapai efek keren
sumber
sumber
Jika Anda dapat menggunakan CSS dan bersedia menggunakan
align
atribut yang tidak digunakan lagi , sebuah fieldset / legenda gaya akan berfungsi:Tujuan yang dimaksud dari suatu rangkaian adalah untuk mengelompokkan bidang formulir secara logis. Seperti yang Willoler tunjukkan,
text-align: center
gaya untuk tidak akan bekerja untuklegend
elemen.align="center"
HTML sudah usang tetapi harus memusatkan teks dengan benar di semua browser.sumber
<legend>
menampilkan ciri-ciri tampilan elemenblock
atauinline-block
, karena dapat diisi dan dibatasi, yang berartitext-align:center
tidak akan berfungsi ...legend
elemen,align="center"
adalah satu-satunya solusi yang dapat saya temukan yang secara andal memusatkan alegend
.Kotak bootstrap:
HTML:
CSS:
sumber
vertical-center
kelas tidak ada lagi di bootstrap (4.3.1). Bisakah Anda memperbarui jawaban Anda untuk mengatakannyaalign-items-center
?Anda bisa menggunakan posisi relatif dan mengatur ketinggian pada induk
sumber
Inilah solusi sederhana dengan css saja, tanpa trik latar belakang ...
HTML:
contoh biola: https://jsfiddle.net/0Lkj6wd3/
sumber
Retasan jahat ...
sumber
Menghasilkan posting berusia 2 tahun, tetapi di sini adalah bagaimana saya mendekati situasi ini hanya menggunakan satu elemen dan CSS.
Dan di sini ada biola untuk memeriksanya: http://jsfiddle.net/sRhBc/ (gambar acak dari Google diambil untuk perbatasan).
Satu-satunya kelemahan dari pendekatan ini adalah tidak mendukung IE7.
sumber
Gunakan saja
sumber
Woohoo posting pertama saya meskipun ini berumur satu tahun. Untuk menghindari masalah pewarnaan latar belakang dengan pembungkus, Anda dapat menggunakan inline-block dengan jam (tidak ada yang mengatakan itu secara eksplisit). Perataan teks harus berada di tengah dengan benar karena itu adalah elemen sebaris.
sumber
Saya menggunakan
h1
dengan rentang di tengah.Contoh HTML:
Contoh CSS:
Sederhana seperti itu.
sumber
span
, Anda dapat mempertimbangkan menggunakan adiv
. Ini melayani tujuan yang sama, kecuali secara alami elemen blok. :)h1
adalah elemen inline.span
bagus untuk hal-hal pembungkus, tetapi alasan saya lebih memilihdiv
dalam hal ini, adalah karena Youri penggunaan CSS untuk mengaturspan
kedisplay:block;
. Saya tidak melihat titik membuat elemen inline menjadi elemen blok, ketika ada elemen blok yang sesuai (div
) sudah tersedia.h1
sebenarnya adalah elemen BLOCK. Maaf bila membingungkan. Meski begitu, saya tidak melihat titik membuatspan
menjadi elemen blok, tapi cukup adil.Melihat di atas, saya memodifikasi ke:
CSS
HTML
Tampaknya bekerja dengan baik.
sumber
Mengambil solusi @ kajic dan menempatkan penataan dalam CSS:
Kemudian CSS (tapi itu tergantung pada CSS3 dalam menggunakan pemilih ke-n):
Bersulang.
(PS On tbody dan tr, Chrome, IE dan Firefox setidaknya secara otomatis memasukkan tbody dan tr, itulah sebabnya sampel saya, seperti @ kajic's, tidak menyertakan ini untuk menjaga hal-hal yang lebih pendek dalam markup html yang diperlukan. Solusi ini telah diuji dengan versi terbaru IE, Chrome, dan Firefox, pada 2013).
sumber
HALAMAN DEMO
HTML
CSS
sumber
Ini bekerja untuk saya dan tidak memerlukan warna latar belakang di belakang teks untuk menyembunyikan garis perbatasan, melainkan menggunakan tag jam aktual. Anda dapat bermain-main dengan lebar untuk mendapatkan ukuran garis jam yang berbeda.
sumber
Saya membuat biola yang menggunakan FlexBox dan juga akan memberi Anda gaya HR yang berbeda (garis ganda, simbol di tengah garis, drop shadow, inset, putus-putus, dll).
CSS
HTML
Atau inilah Fiddle interaktif: http://jsfiddle.net/mpyszenj/439/
sumber
Anda dapat mencoba melakukan
fieldset
, dan menyelaraskan elemen "legenda" (teks "bagian berikutnya") ke tengah bidang dengan hanyaborder-top
disetel. Saya tidak yakin tentang bagaimana legenda diposisikan sesuai dengan elemen fieldset. Saya membayangkan itu mungkin hanya sederhanamargin: 0px auto
untuk melakukan triknya.contoh:
sumber
Anda dapat melakukannya tanpa ini
<hr />
. Semantik, desain harus dilakukan dengan menggunakan CSS, dalam hal ini sangat mungkin.sumber
Selalu ada FIELDSET tua yang bagus
sumber
html
css
sumber
Anda dapat membuat blok pembungkus dengan beberapa gambar latar belakang yang sesuai (dan juga mengatur beberapa warna latar belakang untuk blok teks tengah Anda).
sumber
CSS
HTML
Anda dapat memodifikasi lebar di kelas "sisi" dan "tengah" berdasarkan panjang teks Anda di tag "rentang". Pastikan lebar "tengah" ditambah 2 kali lebar "sisi" sama dengan 100%.
sumber
Responsif, latar belakang transparan, tinggi variabel dan gaya pembagi, posisi variabel teks, jarak yang dapat disesuaikan antara pembagi dan teks. Dapat juga diterapkan beberapa kali dengan penyeleksi berbeda untuk beberapa gaya pembagi dalam proyek yang sama.
SCSS di bawah ini.
Markup (HTML):
CSS :
Tanpanya
text-position
default ke pusat.Demo:
Tampilkan cuplikan kode
Dan SCSS , untuk memodifikasinya dengan cepat:
biola di sini .
sumber
sumber