如何将<div>居中,同时将其宽度调整为内容大小......?

时间:2017-05-21 20:34:29

标签: html css width center adjustment

请在此处查看我的代码:

https://www.w3schools.com/code/tryit.asp?filename=FFTMB6LPPZZ5

(您需要点击&#39;运行&#39;按钮查看结果)

我想要实现的是&#39; insideDiv&#39; (黄色div)将:

  1. 在尽可能宽的范围内占用更多的宽度&#39; outsideDiv&#39; (绿色div)。

  2. 集中在&#39; outsideDiv&#39; (再次,绿色div)。

  3. 我想要最左边的'shortItem&#39;之间的差距/空间。 (白色项目)和&#39; insideDiv&#39;的左边框(黄色div),将是最正确的(例如20px)作为最右边&shortqutem&#39;之间的间隙/空格。以及&#39; insideDiv&#39;的右边界(再次,黄色div)。

  4. 我怎样才能实现这一目标?如果您将运行我的代码并使用显示部分的宽度进行游戏,您将看到它在右侧和左侧没有保持相同的空间。

    如果您想要更改我的示例,请使用左上角附近的图标保存它。图标,并在此处提供固定代码的链接。

    希望你能帮助我,谢谢!

    我的代码:

    &#13;
    &#13;
    .outsideDiv {
      background-color: green;
      margin: auto;
      width: 50%;
      border: 1px solid black;
      text-align: center;
      padding: 20px;
      }
    
    .insideDiv {
      background-color: yellow;
      margin: 10px;
      display: inline-block;
      border: 1px solid black;
      }
    
    .shortItem {
      background-color: white;
      display: block;
      color: black;
      text-align: center;
      padding: 7px 17px;
      text-decoration: none;
      float: right;
      margin: 10px;
      border: 1px solid black;
      height: 30px;
      width: 120px;
      }
    &#13;
    <div class="outsideDiv">
      <div class="insideDiv">
        <div class="shortItem"></div>
        <div class="shortItem"></div>
        <div class="shortItem"></div>
        <div class="shortItem"></div>
        <div class="shortItem"></div>
        <div class="shortItem"></div>
        <div class="shortItem"></div>
      </div>
    </div>
    &#13;
    &#13;
    &#13;

    更新

    1. 我不想改变&#39; shortItem&#39;的宽度。物品(白色的)。

    2. 这是一张图片,展示了我试图解决的问题:

    3. https://ibb.co/jDz92a

2 个答案:

答案 0 :(得分:0)

我已编辑了您的代码,您可以看到here

<!DOCTYPE html>
<html>
<head>
<style>
.outsideDiv {
  background-color: green;
  margin: auto;
  width: 50%;
  border: 1px solid black;
  text-align: center;
  padding: 20px;
  }

.insideDiv {
  background-color: yellow;
  margin:0 auto;
  width:100%;
  display: block;
  border: 1px solid black;
  }

.shortItem {
  background-color: white;
  display: block;
  color: black;
  text-align: center;
  padding: 7px 17px;
  text-decoration: none;
  float: right;
  margin: 10px;
  border: 1px solid black;
  height: 30px;
  width: 120px;
  }
.clear {
    clear:both;
}
</style>
</head>

<body>
<div class="outsideDiv">
  <div class="insideDiv">
    <div class="shortItem"></div>
    <div class="shortItem"></div>
    <div class="shortItem"></div>
    <div class="shortItem"></div>
    <div class="shortItem"></div>
    <div class="shortItem"></div>
    <div class="shortItem"></div>
    <div class="clear"></div> 
  </div>
</div>
</body>
</html>

那是你在找什么?

进行主要编辑:

  1. 清除innerDiv
  2. 中的浮动元素
  3. 使用margin:0自动将innerDiv
  4. 置于中心位置

答案 1 :(得分:0)

这是我使用您的代码创建的fiddle。请检查这是否是您需要的

.outsideDiv {
  background-color: green;
  margin: auto;
  width: 50%;
  border: 1px solid black;
  text-align: center;
  padding: 5%;
}

.insideDiv {
  background-color: yellow;
  margin: 1%;
  padding: 10px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  border: 1px solid black;
  width: auto;
}

.shortItem {
  background-color: white;
  display: block;
  color: black;
  text-align: center;
  text-decoration: none;
  float: right;
  margin: 10px;
  padding: 10px 20px;
  border: 1px solid black;
  height: 30px;
  width: 100%;
  max-width: 120px;
}