css - 如何使 child 与其 parent 的左边界和上边界的距离相等?

标签 css flexbox styling

enter image description here

放大镜是一个很棒的字体图标。它的父框是列空间。我在父框上使用 justify-content: center 和 display: flex 来水平居中放大镜。但是如何使顶部的放大距离与其到父框的左边界或右边界的距离相同。所以它看起来像是位于一个看不见的正方形的中心。

最佳答案

这是一种使用填充来实现的方法。 div 代表侧边栏,白色方 block 代表图标。这里面主要要注意的是:

box-sizing: border-box;
padding:calc((10% - 40px) / 2);

第一行使得添加填充不会使对象变大。第二个 like 将侧边栏所有内部的内边距设置为 (width of sidebar - width of icon)/2。这应该使图标正确居中,并随着缩放或窗口大小调整引起的值变化进行调整。

div.container {
  background-color:lightblue;
  height:200px;
  display:inline-block;
}

div.square {
  width:40px;
  height:40px;
  background-color:white;
}

div.c1 {
  width:10%;
  box-sizing: border-box;
  padding:calc((10% - 40px) / 2);
}

div.c2 {
  width:15%;
  box-sizing: border-box;
  padding:calc((15% - 40px) / 2);
}

div.c3 {
  width:20%;
  box-sizing: border-box;
  padding:calc((20% - 40px) / 2);
}
<div class="container c1">
  <div class="square"></div>
</div>

<div class="container c2">
  <div class="square"></div>
</div>

<div class="container c3">
  <div class="square"></div>
</div>

将来还会包含一些 CSS 或 HTML,显示您目前为解决问题所做的尝试。

关于css - 如何使 child 与其 parent 的左边界和上边界的距离相等?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45868272/

相关文章:

android - 如何设计单选对话框?

c++ - 样式 : Selection color on editable QComboBox

javascript - 如何用css或js隐藏文本?

javascript - css 背景颜色在元素上不可见

javascript - 如何使 HTML 元素仅在特定屏幕尺寸下可点击

html - 内联 block 与边距 : 0 auto

css - Flexbox:如何组合可变宽度和固定宽度

html - 使用 Bootstrap 4 忽略 Grid 和/或 Flexbox 中的表高度

html - 尊重 flexbox 中多列文本 div 和 sibling 的宽度

css - 向 WooCommerce 下拉菜单添加样式?