例如我为边框样式设计了一个div,我设计了另一个div到它的中心,我怎样才能将它设置为更大的div的中心?
.Profile_Photo_Border {
border: 3px solid #052d31;
height: 90px;
width: 90px;
border-radius: 3px;
}
.Profile_Photo {
background-color:#005e67;
height: 80px;
width: 80px;
border-radius: 3px;
alignment-adjust:middle;
text-align:center;
}
<div class="Profile_Photo_Border">
<div class="Profile_Photo"></div>
</div>
答案 0 :(得分:2)
尝试将CSS更改为:
.Profile_Photo_Border {
border: 3px solid #052d31;
height: 90px;
width: 90px;
border-radius: 3px;
position: relative;
}
.Profile_Photo {
background-color: #005e67;
height: 80px;
width: 80px;
border-radius: 3px;
text-align:center;
position: absolute;
top: 50%;
left: 50%;
margin-left: -40px;
margin-top: -40px;
}
此链接也可能有用: https://css-tricks.com/centering-css-complete-guide/
答案 1 :(得分:1)
你的第二个div的高度和宽度比第一个div小10px。 因此,要集中中间一个添加边距:5px;到第二个div,Profile_Photo。
答案 2 :(得分:1)
将以下样式display: flex;
添加到parent div
和
margin: 0 auto;
align-self: center;
到子div,使其水平和垂直对齐。
所以风格变成:
.Profile_Photo_Border {
border: 3px solid #052d31;
height: 90px;
width: 90px;
border-radius: 3px;
display: flex;
}
.Profile_Photo {
background-color:#005e67;
height: 80px;
width: 80px;
border-radius: 3px;
alignment-adjust:middle;
text-align:center;
margin: 0 auto;
align-self: center;
}
请参阅小提琴:&#34; https://jsfiddle.net/ukgnnp4k/&#34;
见截图:
答案 3 :(得分:1)
.Profile_Photo {
background-color:#005e67;
height: 80px;
width: 80px;
border-radius: 3px;
margin: 5px auto;
}
答案 4 :(得分:1)
您可以添加此css。
.Profile_Photo_Border {
border: 3px solid #052d31;
height: 90px;
width: 90px;
border-radius: 3px;
}
.Profile_Photo {
background-color:#005e67;
height: 80%;
width: 80%;
border-radius: 3px;
text-align:center;
margin:10px auto;
}
答案 5 :(得分:0)
如果外部div和内部div具有固定宽度,则可以使用css position
来对齐内部元素。
见下面的CSS。
.Profile_Photo_Border {
border: 3px solid #052d31;
height: 90px;
width: 90px;
border-radius: 3px;
position: relative;
}
.Profile_Photo {
background-color:#005e67;
height: 80px;
width: 80px;
border-radius: 3px;
/* alignment-adjust:middle; No need to use this. */
text-align:center;
position: absolute;
top: 5px;
left: 5px;
}
<div class="Profile_Photo_Border">
<div class="Profile_Photo"></div>
</div>
答案 6 :(得分:0)
这里是将div放在div中的另一种方法,无论宽度和高度如何 - Codepen
.Profile_Photo_Border {
border: 3px solid #052d31;
height: 90px;
width: 90px;
border-radius: 3px;
position: relative;
}
.Profile_Photo {
background-color:#005e67;
height: 80px;
width: 80px;
border-radius: 3px;
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
margin: auto;
}
来自CSS Tricks的guide用于居中div
。
另一个来自Flexbox上的CSS技巧的guide是另一种更好的方式。
希望这可以帮助您更好地理解。
答案 7 :(得分:0)
这是我的2美分,我使用了display:table.cell css style:
.Profile_Photo_Border {
border: 3px solid #052d31;
height: 150px;
width: 150px;
border-radius: 3px;
display: table-cell; /*added*/
vertical-align: middle; /*added*/
}
.Profile_Photo {
background-color: #005e67;
height: 80px;
width: 80px;
border-radius: 3px;
text-align: center; /*added*/
margin: auto; /*added*/
}