当前位置: 首页 > 知识库问答 >
问题:

强制文本在没有宽度的div内换行

宣滨海
2023-03-14

是否可以在只有最小宽度的内联块 div 中进行文本换行?(不是宽度,也不是最大宽度)

我的意思是:

<style type="text/css">

  .container {
    width:100%;
  }

  .field {
    display: inline-block;
    vertical-align: top;
    min-width:25%;
  }

  label, input {
    display: inline-block;
  }

  .alert {
    display:block;
  }

</style>


<div class="container">

    <div class="field">
      <label style="width:100px;">My Label</label>
      <input style="width:200px;" type="text" />
      <div class="alert">
        This text should wrap at whatever width div.field actually is, and never push div.field out to the width of this text!
      </div>
  </div>

  <div class="field">...another field...</div>
  <div class="field">...another field...</div>
  <div class="field">...another field...</div>
  etc...

</div>

注意:

>

  • 标签

    a.如果字段的固定宽度内联内容(在本例中为LABEL INPUT=300px)小于div.container宽度的25%,则div.field应该正好是容器宽度的25%。

    b、 如果字段的固定宽度内联内容超过容器的25%,则应将字段推出到其组合宽度。

    那么,有没有办法获得div。警告根据上述规则根据字段宽度进行换行?

  • 共有3个答案

    马德宇
    2023-03-14

    我正在搜索这个问题的答案,发现文本周围的div需要有:

    最大宽度:适合内容

    <style type="text/css">
      .container {
        width: 100%;
      }
      
      .field {
        display: inline-block;
        vertical-align: top;
        min-width: 25%;
        margin-bottom: 20px;
      }
      
      label,
      input {
        display: inline-block;
      }
      
      .alert {
        display: block;
        max-width: fit-content;
      }
    </style>
    
    
    <div class="container">
      <div class="field">
        <div>With:</div>
        <label style="width:100px;">My Label</label>
        <input style="width:200px;" type="text" />
        <div class="alert">
          This text should wrap at whatever width div.field actually is, and never push div.field out to the width of this text!
        </div>
      </div>
      <div class="field">
        <div>Without:</div>
        <label style="width:100px;">My Label</label>
        <input style="width:200px;" type="text" />
        <div>
          This text should wrap at whatever width div.field actually is, and never push div.field out to the width of this text!
        </div>
      </div>
    </div>
    弘志勇
    2023-03-14

    没有jQuery就不行,比如:

    $('.alert').width($('.alert').parents('.field').width());
    
    养慈
    2023-03-14

    我知道我是一个非常古老的线程,但它可能会对其他人有所帮助。有

    .field {
        width: min-content;
    }
    

    也就是说,你的容器尽可能缩小。要使用它,你必须确保标签和输入在最小宽度时足够大。但是有了固定的尺寸,就完成了。但是在这种有多个字段的情况下,它们会被一个接一个地包装起来,所以我建议

    .container {
        width: min-content;
    }
    

    这是一个jsfiddle。

    它不完全是跨浏览器的,但几乎是。

    我在这里找到的。

     类似资料:
    • 问题内容: 有没有一种方法可以在比其父对象更宽的父容器DIV中包含子DIV 。子DIV必须与浏览器视口的宽度相同。 子DIV 必须保留为父div的子。我知道我可以在子div上设置任意的负边距以使其更宽,但是我不知道如何从根本上使它成为浏览器宽度的100%。 我知道我可以这样做: 但是我需要孩子的宽度与动态浏览器的宽度相同。 Update 感谢您的回答,到目前为止,似乎最接近的答案是将子DIV位置设

    • 我正在寻找一种比断点更精确的解决方案。我知道这需要JavaScript,但我很难找到合适的插件。 我网站上的大多数文本将保持不变,或者我将通过媒体查询对其进行调整(比如平板电脑和手机的90%)。这很好,但我正在为我的导航菜单和横幅等领域寻找“实时”解决方案。 在此处查看站点 您可以使用基本字体大小为100%的ems查看我的所有文本的相对大小 如果你调整网站的大小,你会注意到菜单“崩溃”,因为字体太

    • 问题内容: 我正在寻找一种将2个div作为列的方法,其中右侧的div具有固定的宽度,左侧的div填充剩余空间。 有谁碰巧知道是否可以做到这一点? 我的尝试 (在block1下面提供了block2) : 问题答案: 您可以这样做: HTML: CSS:

    • CSS: 也就是立场:绝对;使它不同于其他类似的问题,我觉得。目前我可以隐藏滚动条,但当我调整浏览器窗口的大小时,你可以看到部分滚动条伸出来。

    • 假设我有以下数组:,我想根据以下箱子创建一个直方图 -

    • 问题内容: 我本质上是在尝试创建一个“ figure”元素的版本(HTML5中即将推出),在该图像的下面有一个简短说明的图像。 但是,我想将整个元素的宽度限制为图像的宽度,以使文本不比图像宽(必要时可以换成多行)。 基本HTML: 我精通使用CSS,但我想不出任何纯CSS解决方案,而无需添加到相匹配的图像宽度。 更新 :经过一番搜索和思考,最好的方法似乎是在div上使用内联宽度。如果我希望div比