将弹性项目内容居中

时间:2019-10-08 20:51:21

标签: html css flexbox

我在一个伸缩容器内有以下伸缩项目(#globalSearchContLi)。容器是无序列表。

我的问题是我正在创建一个带有半球形提交按钮的外观有趣的搜索栏。该按钮几乎附加到具有内嵌块和边距属性的搜索栏。

此组合(搜索栏和按钮)不会以任何我尝试的方式在div中居中。

我尝试将#globalSearchCont设置为具有特定宽度和自动边距,但是整个flexbox演示文稿无法在移动设备上正确显示。

有什么建议/建议吗?预先感谢。

#globalSearchContLi {
  flex-grow: 7;
  margin: 0px 15px;
  flex-basis: 100px;
}

#globalSearchContLi {
  flex-grow: 7;
  margin: 0px 15px;
  flex-basis: 100px;
}

#munchGlobalSearchbar {
  width: 240px;
  height: 50px;
  /* box-shadow: 0 0 0 1px#000,0 0 0 3px #FFF, 0 0 0 5px #333; */
  font-weight: 300;
  font-size: 1.6rem;
  border-radius: 10px;
  display: inline-block;
  margin-top: 20px;
  text-align: center;
  background-color: #edad0c;
  border-bottom: 2px solid #333;
  border-top: 2px solid #333;
  border-left: 2px solid #333;
}

#munchGlobalSearchbar::placeholder {
  color: #000;
}


#globalSearchBtn {
  background-image: url(../imgs/addOn/panEmoji.png);
  width: 50px;
  height: 51px;
  margin: 0px 0px -17px -12px !important;
  border-bottom-right-radius: 50%;
  border-top-right-radius: 50%;
  display: inline-block;
  border: 2px solid #333;
  background-color: #38b32b;
  transition: .2s all ease;
}


.backImageCon {
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}
<li id="globalSearchContLi">
  <div id="globalSearchCont">
    <input placeholder="Search..." type="textbox" name="globalSearch" id="munchGlobalSearchbar">
    <div id="globalSearchBtn" class="backImageCon"></div>
  </div>
</li>

1 个答案:

答案 0 :(得分:0)

在父级上使用justify-content: center将按钮元素水平居中。

#globalSearchContLi {
  list-style-type: none;
  margin-left: 0;
}

#globalSearchCont {
  display: flex;
  justify-content: center;
  height: 50px;
}

#munchGlobalSearchbar {
  width: 240px;
  font-weight: 300;
  font-size: 1.6rem;
  border-radius: 10px;
  text-align: center;
  background-color: #edad0c;
  border-bottom: 2px solid #333;
  border-top: 2px solid #333;
  border-left: 2px solid #333;
}

#munchGlobalSearchbar::placeholder {
  color: #000;
}

#globalSearchBtn {
  background-image: url(../imgs/addOn/panEmoji.png);
  width: 50px;
  border-bottom-right-radius: 50%;
  border-top-right-radius: 50%;
  border: 2px solid #333;
  background-color: #38b32b;
  transition: .2s all ease;
  margin-left: -10px;
}

.backImageCon {
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
}

ul {
  margin: 0;
  padding: 0;
}

* {
  box-sizing: border-box;
}
<ul>
  <li id="globalSearchContLi">
    <div id="globalSearchCont">
      <input placeholder="Search..." type="textbox" name="globalSearch" id="munchGlobalSearchbar">
      <div id="globalSearchBtn" class="backImageCon"></div>
    </div>
  </li>
</ul>