Saya mencoba mendapatkan aturan horizontal saya untuk mengabaikan padding induk.
Inilah contoh sederhana dari apa yang saya miliki:
#parent {
padding:10px;
width:100px;
}
hr {
width:100px;
}
Anda akan menemukan bahwa aturan horizontal meluas keluar dari induk sebesar 10px. Saya mencoba membuatnya mengabaikan padding yang dibutuhkan semua hal lain di div induk.
Saya sadar bahwa saya bisa membuat div terpisah untuk yang lainnya; ini bukanlah solusi yang saya cari.
<hr>
akan menjadi 20px dari akhir div Anda. Lihat jsFiddle ini untuk apa yang saya maksud: jsfiddle.net/YVrWy/1Untuk tujuan gambar, Anda dapat melakukan sesuatu seperti ini
sumber
Secara umum, pertanyaan ini telah dijawab tetapi sebagian kecil oleh semua orang. Saya menangani ini beberapa menit yang lalu.
Saya ingin memiliki baki tombol di bagian bawah panel di mana panel memiliki 30px di sekelilingnya. Baki kancing harus rata di bagian bawah dan samping.
Saya melakukan demo di sini dengan lebih banyak daging untuk mendorong ide. Namun elemen kunci di atas mengimbangi setiap padding induk dengan margin negatif yang cocok pada anaknya. Kemudian yang paling penting jika Anda ingin menjalankan anak dengan lebar penuh lalu atur lebar ke otomatis. (seperti yang disebutkan dalam komentar di atas oleh schlingel ).
sumber
Agak telat. Tapi hanya butuh sedikit matematika.
Saya tidak memiliki Windows jadi saya tidak menguji ini di IE.
biola: contoh biola ..
sumber
lebih baik dari
Nanti menyedot konten secara vertikal ke dalamnya.
sumber
Orang tua Anda lebarnya 120px - yaitu lebar 100 + 20 padding di setiap sisi sehingga Anda perlu membuat garis Anda lebar 120px. Ini kodenya. Lain kali perhatikan bahwa padding menambah lebar elemen.
sumber
width: auto;
dalamhr
. jsfiddle.net/ToolmakerSteve/7p85dsrq/3 Sayangnya, solusi ini masih membutuhkan pengetahuan yangpadding
ditetapkan oleh orang tua.Masalahnya bisa pada model kotak mana yang Anda gunakan. Apakah Anda menggunakan IE?
Ketika IE dalam mode quirks,
width
adalah lebar luar kotak Anda, yang berarti padding akan berada di dalam. Jadi total area yang tersisa di dalam kotak100px - 2 * 10px = 80px
dalam hal ini lebar 100px Anda<hr>
tidak akan terlihat benar.Jika Anda berada dalam mode standar,
width
adalah lebar bagian dalam kotak Anda, dan bantalan ditambahkan di luar. Jadi total lebar kotak100px + 2 * 10px = 120px
menyisakan 100px tepat di dalam kotak untuk Anda<hr>
.Untuk mengatasinya, sesuaikan nilai CSS Anda untuk IE. (Periksa di Firefox untuk melihat apakah terlihat baik-baik saja di sana). Atau bahkan lebih baik, atur jenis dokumen untuk menendang browser ke mode ketat - di mana IE juga mengikuti model kotak standar.
http://www.quirksmode.org/css/quirksmode.html
sumber
Jika Anda memiliki wadah induk dengan bantalan vertikal dan Anda ingin sesuatu (misalnya gambar) di dalam wadah itu mengabaikan bantalan vertikalnya, Anda dapat menetapkan margin negatif, tetapi sama, untuk 'atas' dan 'bawah':
Nilai sebenarnya tampaknya tidak terlalu penting. Belum mencoba ini untuk bantalan horizontal.
sumber
perbaikan mudah .. tambahkan ke div induk:
ukuran kotak: border-box;
sumber
Berikut cara lain untuk melakukannya.
Berikut beberapa contoh di repl.it: https://repl.it/@bryku/LightgrayBleakIntercept
sumber