gpt4 book ai didi

html - 在网格单元格中居中 SVG

转载 作者:行者123 更新时间:2023-11-27 23:04:29 26 4
gpt4 key购买 nike

我看到 how一 jar 将元素放置在网格单元格内,使其出现在任何四个 Angular 。总而言之,单元格本身接收样式position: relative;,每个元素的样式都设置为position: absolute;, top: 0;, and left: 0;,适本地替换 topleft

在这里,我想在中间左侧设置三个 SVG 图像的样式,中心-中心和网格单元的中心-右。

使用以下三种样式

/* center left */
vertical-align: middle;
left: 0;

/* center-center */
text-align: center;
vertical-align: middle;

/* center right */
vertical-align: middle;
right: 0;

无效。为什么?

body { margin: 40px; }
.header {
grid-area: header;
height: 100px;
position: relative;
background-color: #999;
}
.content {
grid-area: content;
height: 200px;
}
.wrapper {
display: grid;
grid-gap: 10px;
grid-template-columns: 800px;
grid-template-areas:
"header"
"content";
background-color: #fff;
color: #444;
}
.box {
background-color: #444;
color: #fff;
border-radius: 5px;
padding: 50px;
font-size: 150%;
}

.centerleft {
vertical-align: middle;
left: 0;
}
.centercenter {
text-align: center;
vertical-align: middle;
}
.centerright {
vertical-align: middle;
right: 0;
}
.circle {
height: 50px;
stroke: black; fill: cyan;
}
<div class="wrapper">
<div class="box header">
<svg xmlns="http://www.w3.org/2000/svg"
class="centerleft circle"
viewBox="0 0 100 100">
<circle class="mycircle" cx="50" cy="50" r="45"/>
</svg>
<svg xmlns="http://www.w3.org/2000/svg"
class="centercenter circle"
viewBox="0 0 100 100">
<circle class="mycircle" cx="50" cy="50" r="45"/>
</svg>
<svg xmlns="http://www.w3.org/2000/svg"
class="centerright circle"
viewBox="0 0 100 100">
<circle class="mycircle" cx="50" cy="50" r="45"/>
</svg>
</div>
<div class="box content">
Content
</div>
</div>

由于同一个单元格具有三个具有不同样式的元素,因此在

grid-item {
display: flex;
align-items: center;
justify-content: center;
}

描述here没有帮助。

最佳答案

这可以通过使用 flex 轻松实现。为框选择器添加样式

body { margin: 40px; }
.header {
grid-area: header;
height: 100px;
position: relative;
background-color: #999;
}
.content {
grid-area: content;
height: 200px;
}
.wrapper {
display: grid;
grid-gap: 10px;
grid-template-columns: 800px;
grid-template-areas:
"header"
"content";
background-color: #fff;
color: #444;
}
.box {
background-color: #444;
color: #fff;
border-radius: 5px;
padding: 50px;
font-size: 150%;
display: flex;
display: -webkit-flex;
justify-content: space-between;
-webkit-justify-content: space-between;
}

.centerleft {
vertical-align: middle;
left: 0;
}
.centercenter {
text-align: center;
vertical-align: middle;
}
.centerright {
vertical-align: middle;
right: 0;
}
.circle {
height: 50px;
stroke: black; fill: cyan;
}
<div class="wrapper">
<div class="box header">
<svg xmlns="http://www.w3.org/2000/svg"
class="centerleft circle"
viewBox="0 0 100 100">
<circle class="mycircle" cx="50" cy="50" r="45"/>
</svg>
<svg xmlns="http://www.w3.org/2000/svg"
class="centercenter circle"
viewBox="0 0 100 100">
<circle class="mycircle" cx="50" cy="50" r="45"/>
</svg>
<svg xmlns="http://www.w3.org/2000/svg"
class="centerright circle"
viewBox="0 0 100 100">
<circle class="mycircle" cx="50" cy="50" r="45"/>
</svg>
</div>
<div class="box content">
Content
</div>
</div>

关于html - 在网格单元格中居中 SVG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58804786/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com