我有一個圖像svg元素,它可以有任何寬度。我想在svg元素或div容器中水平居中放置圖像。我試過margin: 0 auto;
或text-align : center;
但它不起作用。如何在svg中居中圖像
HTML
<div class="background-img" style="width: 100px; height: 110px;">
<svg class="svg-defs" width="100px" height="110px">
<defs>
<clipPath id="clip-triangle-10">
<polygon points="0,0 110,0 110,100 19,100 12,107 5,100 0,100 0,0"></polygon>
</clipPath>
</defs>
<rect class="svg-background" clip-path="url(#clip-triangle-10)" width="100px" height="110px"></rect>
<image class="svg-image" clip-path="url(#clip-triangle-10)" height="100px" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://upload.wikimedia.org/wikipedia/en/thumb/6/6c/Seafarers_title.jpg/225px-Seafarers_title.jpg"></image>
</svg>
</div>
image{
position: relative;
display: block;
margin: 0 auto;
text-align : center;
}
<div class="background-img" style="width: 100px; height: 110px;">
<svg class="svg-defs" width="100px" height="110px">
<defs>
<clipPath id="clip-triangle-10">
<polygon points="0,0 110,0 110,100 19,100 12,107 5,100 0,100 0,0"></polygon>
</clipPath>
</defs>
<rect class="svg-background" clip-path="url(#clip-triangle-10)" width="100px" height="110px"></rect>
<image class="svg-image" clip-path="url(#clip-triangle-10)" height="100px" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://upload.wikimedia.org/wikipedia/en/thumb/6/6c/Seafarers_title.jpg/225px-Seafarers_title.jpg"></image>
</svg>
</div>
我想避免這種解決方案,但也許沒有其他辦法。我會讓這個問題開放1-2天。如果沒有其他解決方案,我會接受這個答案。謝謝。 – Matt
我想不出另一種方式。純粹是因爲圖像尺寸可能會發生變化,並且需要針對每個人進行計算。 – 2017-10-18 10:12:01
我認爲你是對的。 – Matt