從我的回答this related question:
在此期間,如果你想成爲能夠調整:after
僞元素和系統產生的圖像,你需要將其應用爲背景圖像,而不是並且 - 假設瀏覽器支持不是問題 - 使用background-size
以及width
和height
來對其進行縮放(基於理解這些屬性適用於僞元素框)。
所以,與其
content: url("../images/img.png");
使用
background-image: url("../images/img.png");
background-size: cover;
(或簡寫,background: url("../images/img.png") 0 0/cover
)
至於按比例縮放的僞元素,我想你應該是能夠使用padding-bottom
技巧完成此操作。對於比例爲1的圖像:2,padding-bottom: 200%
似乎在這個例子中的工作:
.container {
border: thick solid;
margin: 1em;
}
.large.container { width: 100px; }
.small.container { width: 50px; }
.container::after {
content: '';
display: block;
background: url(http://placehold.it/100x200) 0 0/cover;
padding-bottom: 200%;
}
<div class="large container"></div>
<div class="small container"></div>
你想要什麼的':after'而不是圖像? –
任何。我只需要僞元素的固定比例。這樣當.container的寬度發生變化時,之後的高度會相應地按一定的比例變化。 –
我的意思是如果我使用圖像:在它有一定的比例,所以僞元素會有它,但我並不真的需要一個圖像。 –