几个容易出错的css盒子模型细节 - jerrylsxu
css是前端必须掌握的技能之一。其中的box模型,如图所示:
大体就是border、margin、padding和content,概念挺好理解。但当盒子模型与其他属性一块使用时产生的现象,或许您还难以回答上来。下面来看看几个容易搞错的css盒子模型细节。
问题一:嵌套块级元素时,子元素margin的参考标准是?具体来说就是父元素的content-box,padding-box还是border-box?
来看以下的例子:
#box3 { width:400px; height:400px; margin:20px; padding:20px; border:20px solid; background-color:#ccc; overflow:hidden; } #box3_3 { width:200px; height:200px; margin:20px; padding:20px; border:20px solid #0f0; background-color:#f00; }
可以清楚看到,子元素margin以包含元素content-box为参考
问题二:overflow:hidden隐藏的是超出哪里的部分呢?具体来说就是超出content-box,padding-box还是margin-box会被隐藏?
依然来看一个例子,css如下:
#box1 { width:100px; height:100px; margin:20px; padding:20px; border:20px solid; background-color:#ccc; overflow:hidden; } #box1_1 { width:200px; height:200px; background-color:#f00; }
通过以上例子可以知道。overflow:hidden,隐藏超出padding-box的部分
问题三:position:absolute定位参考点是什么?
我们都知道,当给一个元素应用position:absolute绝对定位后。会以最近拥有定位属性的父元素为定位参考。同时可以通过left和top指定相对父元素的偏移距离。那么这个左上角具体是指父元素哪里呢?元素本身又以哪个点来定位呢?
#box2 { position:relative;; width:400px; height:400px; margin:20px; padding:20px; border:20px solid; background-color:#ccc; } #box2_2 { position:absolute; left:auto; top:auto; width:100px; height:100px; padding:20px; border:10px solid #0f0; background-color:#f00; }
通过点击上面的按钮,可以得到以下结论:
- 元素自身的参考点是最外围的盒子,即margin-box,无margin则为border-box,以此类推。
- left/top指定值后,参照父元素的padding-box左上角
- left/top为默认值,子元素还在原来的位置上,即相对于父元素的content-box左上角
问题四:元素的背景覆盖到哪个区域,border-box?padding-box还是margin-box?
这里要区分background-color和background-image两种情况。
- 1.对于背景颜色,颜色会填满border-box。
- 2.对于背景图片,默认会填充padding-box。左上方从padding-box的区域开始填充,右侧和下侧会超出到border-box的区域,但不会超出到margin-box
- 3.在css3中,可以通过background-originr更改背景图片的填充区域
来看以下css,
#box4 { width:100px; height:100px; margin:20px; padding:20px; border:20px dotted; background-color:#ccc; overflow:hidden; } #box5 { width:400px; height:300px; margin:20px; padding:20px; border:20px dotted; background-color:lightblue; background-image:url('http://images.cnitblog.com/i/207603/201404/151302359783891.png'); background-repeat:no-repeat; overflow:hidden; }

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Cache kemas kini laman web akaun rasmi, perkara ini mudah dan mudah, dan ia cukup rumit untuk minum periuknya. Anda bekerja keras untuk mengemas kini artikel akaun rasmi, tetapi pengguna masih membuka versi lama. Dalam artikel ini, mari kita lihat kelainan dan bertukar di belakang ini dan bagaimana menyelesaikan masalah ini dengan anggun. Selepas membacanya, anda boleh dengan mudah menangani pelbagai masalah caching, yang membolehkan pengguna anda sentiasa mengalami kandungan segar. Mari kita bincangkan asas -asas terlebih dahulu. Untuk meletakkannya secara terang -terangan, untuk meningkatkan kelajuan akses, penyemak imbas atau pelayan menyimpan beberapa sumber statik (seperti gambar, CSS, JS) atau kandungan halaman. Kali seterusnya anda mengaksesnya, anda boleh mengambilnya secara langsung dari cache tanpa perlu memuat turunnya lagi, dan ia secara semula jadi cepat. Tetapi perkara ini juga pedang bermata dua. Versi baru dalam talian,

Artikel ini membincangkan menggunakan atribut pengesahan bentuk HTML5 seperti had, corak, min, max, dan panjang untuk mengesahkan input pengguna secara langsung dalam penyemak imbas.

Artikel ini menunjukkan penambahan sempadan PNG yang cekap ke halaman web menggunakan CSS. Ia berpendapat bahawa CSS menawarkan prestasi unggul berbanding dengan JavaScript atau perpustakaan, memperincikan cara menyesuaikan lebar sempadan, gaya, dan warna untuk kesan halus atau menonjol

Artikel membincangkan amalan terbaik untuk memastikan keserasian silang pelayar HTML5, memberi tumpuan kepada pengesanan ciri, peningkatan progresif, dan kaedah ujian.

Artikel ini membincangkan html & lt; datalist & gt; elemen, yang meningkatkan bentuk dengan menyediakan cadangan autokomplete, meningkatkan pengalaman pengguna dan mengurangkan kesilapan. Kira -kira: 159

Artikel ini membincangkan html & lt; meter & gt; elemen, digunakan untuk memaparkan nilai skalar atau pecahan dalam julat, dan aplikasi umum dalam pembangunan web. Ia membezakan & lt; meter & gt; dari & lt; kemajuan & gt; dan Ex

Artikel ini menerangkan html5 & lt; time & gt; elemen untuk perwakilan tarikh/masa semantik. Ia menekankan pentingnya atribut DateTime untuk pembacaan mesin (format ISO 8601) bersama teks yang boleh dibaca manusia, meningkatkan aksesibilit

Artikel ini membincangkan html & lt; kemajuan & gt; elemen, tujuan, gaya, dan perbezaan dari & lt; meter & gt; elemen. Tumpuan utama adalah menggunakan & lt; kemajuan & gt; untuk menyelesaikan tugas dan & lt; meter & gt; untuk stati
