【发布时间】:2021-12-09 21:09:58
【问题描述】:
以 HTML 为中心及其变体当然已被询问和回答 innumerable times.
不过,我还是有一些基本问题。
.banner_box {
width: 640px; height: 150px;
background-color: #ddd;
margin: 5px;
display: flex;
align-items: center;
}
.left_center_myicon {
display: block;
margin: 0 auto;
float: left;
/*height: 100%;*/
}
<div class="banner_box">
<img class="left_center_myicon" src="myicon.svg" />
</div>
<div class="banner_box">
<a href="index.html"><img class="left_center_myicon" src="myicon.svg" /></a>
</div>
myicon.svg 由一个矩形组成:
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
width="30pt" height="15pt" viewBox="0 0 400 200" version="1.1">
<g style="fill:rgb(10%,40%,70%);fill-opacity:1;">
<rect x="100" y="50" rx="20" ry="20" width="200" height="100" />
</g>
</svg>
尽管我在left_center_myicon 的两个实例上都指定了float: left,但只有在<a> 标记内时它才会向左浮动。
现在我的图标很小。我可以通过添加height: 100% 轻松使其填充banner_box 的高度。在较低的banner_box 中,这当然使图标100% 只是锚点。
如何设置图标的百分比高度,并将其垂直居中,同时左浮动?
简而言之,我可以将图标左居中
或将其放大到某个百分比
但不是两者兼而有之。
【问题讨论】:
-
由于某种原因,我在使用 SVG 方面确实不是最好的,但可以使用 position:absolute 来定位它吗?如果是这样,您可能会以这种方式获得左中心?