div {width:200px;height:50px;position: relative;z-index:1;background:#eee;}div:before {content:"";position: absolute;left:0;bottom:0;height:1px;width:50%;/* or 100px */border-bottom:1px solid magenta;}
Ini adalah teknik saya juga, tetapi perhatikan bahwa itu akan memberi batas pada bagian kiri div. Jika Anda ingin menempatkannya di tengah, berikan div:beforeleft: 50px.
Chowlett
Pertanyaannya tidak menentukan di posisi mana perbatasan harus muncul jadi saya belum mempertimbangkan posisi lain
Fabrizio Calderan
5
jika lebar batas bawah adalah 50% dan Anda ingin itu berada di tengah, gayanya harus seperti left: 25%itu karena akan menjadi 25% + 50% + 25%
skift
5
Ya saya sadar dalam contoh ini berhasil. Tetapi bagi orang lain yang melakukan hal serupa yang mungkin mencoba membuatnya responsif, Anda mungkin perlu menggunakan% karena saya memerlukan jawabannya.
Skift
4
Gunakan margin: auto, right: 0, left: 0pada :beforeke pusat garis. Beri suara positif jika ini membantu Anda.
Ale_info
40
Cara lain untuk melakukan ini (di peramban modern) adalah dengan bayangan kotak sebaran negatif. Lihat biola yang diperbarui ini: http://jsfiddle.net/WuZat/290/
box-shadow:0px24px3px-24px magenta;
Saya pikir cara teraman dan paling kompatibel adalah jawaban yang diterima di atas. Hanya berpikir saya akan berbagi teknik lain.
Anda tidak boleh memiliki batas ukuran yang berbeda dari div itu sendiri.
solusinya adalah menambahkan div lain di bawah rapi, diposisikan di tengah atau absolut, dengan batas 1 piksel yang diinginkan dan tinggi hanya 1 piksel.
Saya meninggalkan batas aslinya sehingga Anda dapat melihat lebarnya, dan memiliki dua contoh - satu dengan lebar 100, dan yang lainnya dengan 100 lebar di tengah. Hapus yang tidak ingin Anda gunakan.
Terlambat ke pesta tetapi untuk siapa saja yang ingin membuat 2 perbatasan (di bawah dan kanan dalam kasus saya) Anda dapat menggunakan teknik dalam jawaban yang diterima dan menambahkan: setelah elemen psuedo untuk baris kedua maka ubah saja properti seperti jadi:
http://jsfiddle.net/oeaL9fsm/
Saya melakukan sesuatu seperti ini dalam proyek saya. Saya ingin membagikannya di sini. Anda dapat menambahkan div lain sebagai anak dan memberinya batas dengan lebar kecil dan menempatkannya di kiri, tengah atau kanan dengan CSS biasa
Perbatasan diberi seluruh elemen html. Jika Anda menginginkan setengah batas bawah, Anda dapat membungkusnya dengan beberapa blok yang dapat diidentifikasi lainnya seperti span.
ini tidak membantu. persyaratannya adalah batas div
ahmednawazbutt
1
Saya baru saja mencapai kebalikan dari penggunaan ini :afterdan ::afterkarena saya perlu membuat batas bawah saya dengan tepat1.3rem lebih lebar:
Elemen saya menjadi sangat berubah bentuk ketika saya menggunakan :beforedan :afterpada saat yang sama karena elemen-elemen tersebut sejajar secara horizontal dengan display: flex, flex-direction: rowdan align-items: center.
Anda dapat menggunakan ini untuk membuat sesuatu yang lebih luas atau lebih sempit, atau mungkin mod dimensi matematis apa pun:
a.nav_link-active {
color: $e1-red;
margin-top:3.7rem;}
a.nav_link-active:visited {
color: $e1-red;}
a.nav_link-active:after {
content:'';
margin-top:3.3rem;// margin and height should
height:0.4rem;// add up to active link margin
background: $e1-red;
margin-left:-$nav-spacer-margin;
display: block;}
a.nav_link-active::after {
content:'';
margin-top:3.3rem;// margin and height should
height:0.4rem;// add up to active link margin
background: $e1-red;
margin-right:-$nav-spacer-margin;
display: block;}
Maaf, ini SCSShanya mengalikan angka dengan 10 dan mengubah variabel dengan beberapa nilai normal.
div:before
left: 50px
.left: 25%
itu karena akan menjadi 25% + 50% + 25%margin: auto
,right: 0
,left: 0
pada:before
ke pusat garis. Beri suara positif jika ini membantu Anda.Cara lain untuk melakukan ini (di peramban modern) adalah dengan bayangan kotak sebaran negatif. Lihat biola yang diperbarui ini: http://jsfiddle.net/WuZat/290/
Saya pikir cara teraman dan paling kompatibel adalah jawaban yang diterima di atas. Hanya berpikir saya akan berbagi teknik lain.
sumber
Anda dapat menggunakan gradien linier:
sumber
Saya menambahkan baris di bawah tag h3 seperti ini
sumber
Anda tidak boleh memiliki batas ukuran yang berbeda dari div itu sendiri.
solusinya adalah menambahkan div lain di bawah rapi, diposisikan di tengah atau absolut, dengan batas 1 piksel yang diinginkan dan tinggi hanya 1 piksel.
http://jsfiddle.net/WuZat/3/
Saya meninggalkan batas aslinya sehingga Anda dapat melihat lebarnya, dan memiliki dua contoh - satu dengan lebar 100, dan yang lainnya dengan 100 lebar di tengah. Hapus yang tidak ingin Anda gunakan.
sumber
Terlambat ke pesta tetapi untuk siapa saja yang ingin membuat 2 perbatasan (di bawah dan kanan dalam kasus saya) Anda dapat menggunakan teknik dalam jawaban yang diterima dan menambahkan: setelah elemen psuedo untuk baris kedua maka ubah saja properti seperti jadi: http://jsfiddle.net/oeaL9fsm/
sumber
Saya memiliki kasus untuk memiliki beberapa batas bawah antara gambar dalam wadah div dan kode baris terbaik adalah - border-bottom-style: inset;
sumber
sumber
Saya melakukan sesuatu seperti ini dalam proyek saya. Saya ingin membagikannya di sini. Anda dapat menambahkan div lain sebagai anak dan memberinya batas dengan lebar kecil dan menempatkannya di kiri, tengah atau kanan dengan CSS biasa
Kode HTML:
CSS seperti di bawah ini:
sumber
Perbatasan diberi seluruh elemen html. Jika Anda menginginkan setengah batas bawah, Anda dapat membungkusnya dengan beberapa blok yang dapat diidentifikasi lainnya seperti span.
Kode HTML:
CSS seperti di bawah ini:
sumber
Ini akan membantu:
http://www.w3schools.com/tags/att_hr_width.asp
Ini menciptakan garis horizontal dengan lebar 50%, Anda perlu membuat / memodifikasi kelas jika Anda ingin mengedit gayanya.
sumber
Saya baru saja mencapai kebalikan dari penggunaan ini
:after
dan::after
karena saya perlu membuat batas bawah saya dengan tepat1.3rem
lebih lebar:Elemen saya menjadi sangat berubah bentuk ketika saya menggunakan
:before
dan:after
pada saat yang sama karena elemen-elemen tersebut sejajar secara horizontal dengandisplay: flex
,flex-direction: row
danalign-items: center
.Anda dapat menggunakan ini untuk membuat sesuatu yang lebih luas atau lebih sempit, atau mungkin mod dimensi matematis apa pun:
Maaf, ini
SCSS
hanya mengalikan angka dengan 10 dan mengubah variabel dengan beberapa nilai normal.sumber