Menggabungkan gaya dengan konten bukan hal yang tabu bagi banyak orang. <div style = "border-left: thin solid # 0000ff"> Saya tidak bisa mengatakan apa-apa dan saya mengatakannya </div>
ctpenrose
15
@ctpenrose Memang ini tidak tabu tetapi memisahkannya berguna karena Anda dapat dengan mudah menyesuaikan di satu tempat jika diperlukan. Menempatkannya dalam file CSS terpisah lebih baik untuk kinerja karena dapat di-cache oleh browser dan Anda akhirnya mengirimkan lebih sedikit byte melalui kabel setiap kali Anda meminta HTML yang diberikan.
Kris van der Mast
235
Anda dapat menggunakan tag aturan horizontal untuk membuat garis vertikal.
Giulio karena sebenarnya tidak membagi layar menjadi dua kolom. sekali lagi Anda perlu menggunakan beberapa staf css untuk hasil yang diinginkan, seperti halnya div.
Ismail Sahin
Saya suka ini lebih baik karena menghindari keanehan memiliki div tersembunyi dengan hanya satu sisi yang memiliki batas yang terlihat. Memang, ini bukan cara Anda biasanya menggunakan jam, tetapi masih lebih masuk akal bagi saya.
levininja
71
Anda bisa menggunakan yang kosong <div> yang ditata persis seperti yang Anda inginkan garis muncul:
HTML:
<divclass="vertical-line"></div>
Dengan tinggi persis (gaya in-line):
div.vertical-line{width:1px;/* Line width */background-color: black;/* Line color */height:100%;/* Override in-line if you want specific height. */float: left;/* Causes the line to float to left of content.
You can instead use position:absolute or display:inline-block
if this fits better with your design */}
Trik hebat untuk mendapatkan garis yang ditata sama dengan standar <hr>. Mungkin juga perlu styling ekstra untuk mengapung di sisi konten (misalnya: float:left;)
kagum
Ini "vertikal" aturan masih memisahkan (teks) elemen vertikal sebagai aturan horisontal normal.
Qwerty
20
Tidak ada ekuivalen vertikal dengan <hr>elemen. Namun, satu pendekatan yang mungkin ingin Anda coba adalah menggunakan perbatasan sederhana ke kiri atau kanan apa pun yang Anda pisahkan:
* Anda mungkin perlu sedikit bermain-main display:inline-block|inlinekarenainline tidak akan berkembang hingga mengandung tinggi elemen. Gunakan margin untuk menempatkan garis di tengah wadah.
Sedih dengan keterbatasan, tetapi ini terlihat sangat, sangat berguna di beberapa tempat lain.
Smar
Itu tidak mengisi semua ukuran div bagaimana cara memperbaikinya?
Otávio Barreto
1
@ OtávioBarreto Anda mungkin perlu mengutak-atik displayproperti yang dikomentari . Atur ke salah satu inlineatau inline-block. Lihat catatan di atas dan contoh url.
Qwerty
9
Satu opsi lain adalah menggunakan gambar 1-pixel, dan mengatur ketinggian - opsi ini akan memungkinkan Anda untuk melayang ke tempat yang Anda inginkan.
Saya hanya mengubah nilai nilai piksel "kiri" ke posisi itu. (Saya menggunakan garis vertikal untuk merangkai konten di halaman web saya, dan kemudian saya menghapusnya.)
Jika tujuan Anda adalah meletakkan garis vertikal dalam wadah untuk memisahkan elemen anak berdampingan (elemen kolom), Anda dapat mempertimbangkan untuk menata wadah seperti ini:
Ini menambahkan batas kiri ke semua elemen anak mulai dari anak ke-2. Dengan kata lain, Anda mendapatkan batas vertikal antara anak-anak yang berdekatan.
>adalah pemilih anak. Ini cocok dengan anak manapun dari elemen yang ditentukan di sebelah kiri.
*adalah pemilih universal. Ini cocok dengan elemen jenis apa pun.
:not(:first-child) berarti itu bukan anak pertama dari orang tuanya.
Saya pikir ini lebih baik daripada .child-except-first {border-left: ...}aturan sederhana , karena lebih masuk akal jika garis vertikal berasal dari aturan wadah, bukan aturan elemen anak yang berbeda.
Apakah ini lebih baik daripada menggunakan elemen aturan vertikal sementara (dengan menggunakan aturan horizontal, dll.) Akan tergantung pada use case Anda, tetapi ini setidaknya merupakan alternatif.
Satu pendekatan lagi dimungkinkan: Menggunakan SVG .
misalnya:
<svgheight="210"width="500"><linex1="0"y1="0"x2="0"y2="100"style="stroke:rgb(255,0,0);stroke-width:2"/>
Sorry, your browser does not support inline SVG.
</svg>
Pro:
Anda dapat memiliki garis dengan panjang dan orientasi berapa pun.
Anda dapat menentukan lebar, warna dengan mudah
Cons:
SVG sekarang didukung di sebagian besar browser modern. Tetapi beberapa browser lama (seperti IE 8 dan yang lebih lama) tidak mendukungnya.
<divstyle="width:50%"><divstyle="border-right:1px solid;"><ul><li>
Empty div didn't shows line
</li><li>
Vertical line length depends on the content in the div
</li><li>
Here I am using inline style. You can replace it by external style or internal style.
</li></ul></div></div>
<divstyle="width:50%"><divstyle="border-left:1px solid;"><ul><li>
Empty div didn't shows line
</li><li>
Vertical line length depends on the content in the div
</li><li>
Here I am using inline style. You can replace it by external style or internal style.
</li></ul></div></div>
<vr>
Jawaban:
Letakkan
<div>
sekitar markup di mana Anda ingin garis muncul berikutnya, dan gunakan CSS untuk gaya itu:sumber
Anda dapat menggunakan tag aturan horizontal untuk membuat garis vertikal.
Dengan menggunakan lebar minimal dan ukuran besar, aturan horizontal menjadi vertikal.
sumber
display:inline-block
tidak duduk dengan baik di sebelah elemen inline lainnya.Anda bisa menggunakan yang kosong
<div>
yang ditata persis seperti yang Anda inginkan garis muncul:HTML:
Dengan tinggi persis (gaya in-line):
Gaya perbatasan jika Anda ingin tampilan 3D:
Tentu saja Anda juga dapat melakukan percobaan dengan kombinasi lanjutan:
sumber
Anda juga dapat membuat garis vertikal menggunakan garis horizontal HTML
<hr />
sumber
<hr>
. Mungkin juga perlu styling ekstra untuk mengapung di sisi konten (misalnya:float:left;
)Tidak ada ekuivalen vertikal dengan
<hr>
elemen. Namun, satu pendekatan yang mungkin ingin Anda coba adalah menggunakan perbatasan sederhana ke kiri atau kanan apa pun yang Anda pisahkan:sumber
Elemen khusus HTML5 (atau CSS murni)
1. javascript
Daftarkan elemen Anda.
*Itu
-
wajib di semua elemen khusus.2. css
* Anda mungkin perlu sedikit bermain-main
display:inline-block|inline
karenainline
tidak akan berkembang hingga mengandung tinggi elemen. Gunakan margin untuk menempatkan garis di tengah wadah.3. instantiate
* Sayangnya Anda tidak dapat membuat tag kustom sendiri.
pemakaian
contoh: http://html5.qry.me/vertical-rule
Tidak ingin dipusingkan dengan javascript?
Cukup terapkan kelas CSS ini ke elemen yang Anda tuju.
css
* Lihat catatan di atas.
sumber
display
properti yang dikomentari . Atur ke salah satuinline
atauinline-block
. Lihat catatan di atas dan contoh url.Satu opsi lain adalah menggunakan gambar 1-pixel, dan mengatur ketinggian - opsi ini akan memungkinkan Anda untuk melayang ke tempat yang Anda inginkan.
Bukan solusi yang paling elegan sekalipun.
sumber
Anda dapat menggambar garis vertikal dengan hanya menggunakan tinggi / lebar dengan elemen html apa pun.
sumber
Tidak ada tag untuk membuat garis vertikal dalam HTML.
Metode: Anda memuat gambar garis. Kemudian Anda mengatur gayanya
"height: 100px ; width: 2px"
Metode: Anda dapat menggunakan
<td>
tag<td style="border-left: 1px solid red; padding: 5px;"> X </td>
sumber
Anda dapat menggunakan tag jam (garis horizontal) dan kemudian memutarnya 90 derajat dengan css di bawah ini
http://jsfiddle.net/haykaghabekyan/0c969bm6/1/
sumber
Saya menggunakan kombinasi kode "jam" yang disarankan, dan inilah yang tampak seperti kode saya:
Saya hanya mengubah nilai nilai piksel "kiri" ke posisi itu. (Saya menggunakan garis vertikal untuk merangkai konten di halaman web saya, dan kemudian saya menghapusnya.)
sumber
Untuk membuat garis vertikal yang berpusat di dalam div, saya pikir Anda dapat menggunakan kode ini. 'Wadah' mungkin lebarnya 100%, kurasa.
sumber
Mengapa tidak menggunakan & # 124, yang merupakan karakter khusus html untuk |
sumber
Jika tujuan Anda adalah meletakkan garis vertikal dalam wadah untuk memisahkan elemen anak berdampingan (elemen kolom), Anda dapat mempertimbangkan untuk menata wadah seperti ini:
Ini menambahkan batas kiri ke semua elemen anak mulai dari anak ke-2. Dengan kata lain, Anda mendapatkan batas vertikal antara anak-anak yang berdekatan.
>
adalah pemilih anak. Ini cocok dengan anak manapun dari elemen yang ditentukan di sebelah kiri.*
adalah pemilih universal. Ini cocok dengan elemen jenis apa pun.:not(:first-child)
berarti itu bukan anak pertama dari orang tuanya.Dukungan browser: > *: anak pertama dan : tidak ()
Saya pikir ini lebih baik daripada
.child-except-first {border-left: ...}
aturan sederhana , karena lebih masuk akal jika garis vertikal berasal dari aturan wadah, bukan aturan elemen anak yang berbeda.Apakah ini lebih baik daripada menggunakan elemen aturan vertikal sementara (dengan menggunakan aturan horizontal, dll.) Akan tergantung pada use case Anda, tetapi ini setidaknya merupakan alternatif.
sumber
Satu pendekatan lagi dimungkinkan: Menggunakan SVG .
misalnya:
Pro:
Cons:
sumber
Garis vertikal langsung ke div
Garis vertikal kiri ke div
sumber
Untuk menambahkan garis vertikal, Anda perlu menata jam.
Sekarang ketika Anda membuat garis vertikal itu akan muncul di tengah halaman:
Sekarang untuk meletakkannya di tempat yang Anda inginkan, Anda dapat menggunakan kode ini:
Ini akan memposisikannya ke kiri, Anda dapat membalikkannya ke posisi itu ke kanan.
sumber
Ada
<hr>
tag untuk garis horizontal. Dapat digunakan dengan CSS untuk membuat garis horizontal juga:Properti width menentukan ketebalan garis. Properti height menentukan panjang garis. Properti warna latar belakang menentukan warna garis.
sumber
Di elemen Sebelumnya yang Anda inginkan untuk menerapkan baris vertikal, Anda dapat mengatur ...
sumber
Putar
<hr>
90 derajat:sumber
Untuk gaya sebaris saya menggunakan kode ini:
dan yang memposisikannya langsung di tengah.
sumber
Saya membutuhkan garis vertikal sebaris, jadi saya menipu sebuah tombol untuk menjadi garis.
sumber
Ini bekerja baik untuk saya
sumber
Untuk membuat garis vertikal ke tengah digunakan tengah:
sumber