有關使用陰性切緣(如在iframe 寬度的一半)什麼如下:
iframe {
width: 940px;
height: 400px;
margin-left: -470px /* <-- 940px/2 */
}
或者使用position: relative;
與left: -470px;
。
margin: 0 auto
不適用於比其父母寬的孩子。即使您將display
屬性更改爲block
。
從Spec(10.3.3塊級,在正常流動非替換元素):
width
如果未auto
和border-left-width
+ padding-left
+ width
+ padding-right
+ border-right-width
(加上 margin-left
或margin-right
中的任何一個都不是auto
)大於 包含塊的寬度,然後對 margin-left
或margin-right
任何auto
值是,對於以下的規則,處理 爲零。
如果CSS3是一個選項,你可以設置一個位置屬性爲iframe
包括負translateX
保持元件中心時父調整大小:
iframe {
width: 940px;
height: 300px;
background-color: orange;
position: relative;
left: 50%;
transform: translateX(-50%);
}
WORKING DEMO
對於不支持CSS3 transform
的舊瀏覽器,您會需要添加一個額外的元素作爲包裝。
在這種方法中,孩子(iframe
你的情況)被稱爲.wrapper
另一元件包裹如下:
<div class="parent">
<div class="wrapper">
<div class="child"></div>
</div>
</div>
.parent {
width: 100%;
height: 400px;
overflow: hidden;
position: relative;
}
.wrapper {
position: absolute;
left: 50%;
}
.child {
width: 940px;
height: 300px;
position: relative;
left: -50%;
}
UPDATED DEMO。
精美地剪裁正在運行的視頻的邊緣 – wjdp