如何在另一个div内的两个div之间插入一些水平空间?

时间:2019-06-10 13:06:26

标签: html css

我正在尝试创建一个可移动的div元素,该元素将由另外两个div组成:文本div和删除div。

我正在display: inline-block上设置removable_item_container,以将容器的宽度调整为div内容。

但是我该如何在removable_item_textremovable_item_remove元素之间插入一些空格(假设是容器宽度的20%),并使第一个元素与容器div的左侧对齐,而另一个保持对齐一个在右边?

<!DOCTYPE HTML>
<html>
    <head>
        <link href="https://fonts.googleapis.com/css?family=Lora:400,700|Montserrat:300" rel="stylesheet">
        <style>
            body {
                font-family: 'Montserrat', sans-serif;
            }
            .removable_item_container {
                display: inline-block;
                border-style: solid;
                border-width: 0.1px;
                padding: 5px;
            }
            .removable_item_container:hover {
                color: blue;
                cursor: grab;
            }
            .removable_item_text {
                float: left;
            }
            .removable_item_remove {
                float: right;
            }
            .removable_item_remove:hover {
                color: red;
                cursor: pointer;
            }
        </style>
    </head>
    <body>
    
        <div class="removable_item_container">
            <div class="removable_item_text">Removable item</div>
            <div class="removable_item_remove">x</div>
        </div>
    
        <script>
        </script>
    </body>
</html>

2 个答案:

答案 0 :(得分:0)

您可以使用margin-left:20px添加固定的空格宽度,并且两个元素都将显示在同一行上。

<!DOCTYPE HTML>
<html>
    <head>
        <link href="https://fonts.googleapis.com/css?family=Lora:400,700|Montserrat:300" rel="stylesheet">
        <style>
            body {
                font-family: 'Montserrat', sans-serif;
            }
            .removable_item_container {
                display: inline-block;
                border-style: solid;
                border-width: 0.1px;
                padding: 5px;
            }
            .removable_item_container:hover {
                color: blue;
                cursor: grab;
            }
            .removable_item_text {
                float: left;
            }
            .removable_item_remove {
                float: right;
                margin-left: 20px;
            }
            .removable_item_remove:hover {
                color: red;
                cursor: pointer;
            }
        </style>
    </head>
    <body>
    
        <div class="removable_item_container">
            <div class="removable_item_text">Removable item</div>
            <div class="removable_item_remove">x</div>
        </div>
    
        <script>
        </script>
    </body>
</html>

答案 1 :(得分:0)

如果您正在寻找一种响应式的方式,则可以使用flexbox。

https://yoksel.github.io/flex-cheatsheet/

  1. Gluon TextField上设置display: flexjustify-content: space-between
  2. .removable_item_container.removable_item_textflex-basis(例如)
  3. 70%.removable_item_removeflex-basis
  4. 我还为您的右侧元素添加了10%
  5. 然后您可以将text-align: right;(在我的示例中为200px)中指定为所需内容

这将使剩余空间占元素总宽度的20%。

.removable_item_container
body {
  font-family: 'Montserrat', sans-serif;
}

.removable_item_container {
  display: flex;
  width: 200px;
  justify-content: space-between;
  border-style: solid;
  border-width: 0.1px;
  padding: 5px;
}

.removable_item_container:hover {
  color: blue;
  cursor: grab;
}

.removable_item_text {
  flex-basis: 70%;
  float: left;
}

.removable_item_remove {
text-align: right;
 flex-basis: 10%;
  float: right;
}

.removable_item_remove:hover {
  color: red;
  cursor: pointer;
}