【问题标题】:Wrap text around both sides of div将文本环绕在 div 的两侧
【发布时间】:2019-04-20 02:52:45
【问题描述】:

这是我试图实现的目标:

以下HTML

<div id="my1"> 
<p> some text </p>  
<div id="wrap">Awesome content</div>  
</div>  

有这个:

text text text text text text text text text text text text text text  
text text text text text div id="wrap" text text text text text  
text text text text text text text text text text text text text text  

到目前为止,浮动divs 并没有帮助我达到这个结果...(考虑到 my1 和 wrap 的高度和宽度都是已知的)?

文本从被包装的 div 的右侧开始的小提琴,当我希望它从“my1” div 的左侧开始时,会在“wrap” div 周围中断。 http://jsfiddle.net/matmat/dxV4X/

【问题讨论】:

  • jsfiddle.net创建一个小提琴
  • 你的问题不是很清楚。请改写并更好地描述您想要实现的目标。您还可以设置一个小提琴来帮助我们更好地查看您的代码。谢谢
  • 这是一个不起作用的小提琴:jsfiddle.net/matmat/dxV4X 我希望文本从左开始,并环绕灰色框

标签: html css text


【解决方案1】:

看起来你想要类似 float:center 的东西?好吧,问题是这个属性不存在。

这里有两种选择:

1) 用伪元素伪造它 - FIDDLE - 见css-tricks article

像这样设置标记:

<div>
    <div id="wrap">Awesome content</div>
    <div id="l">
        <p>left text here</p>
    </div>
    <div id="r">
        <p>right text here</p>
    </div>
</div>

使用 CSS

#wrap {
    width:250px;
    height: 250px;
    background: yellow;
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -125px;
}
#l {
    float: left;
}
#r {
    float: right;
}
#l, #r {
    width: 49%;
}
#l:before, #r:before {
    content:"";
    width: 125px;
    height: 250px;
}
#l:before {
    float: right;
}
#r:before {
    float: left;
}

备选方案 #2(仅限 IE 10+):CSS Exclusions - FIDDLE

标记

<div class="container">
    <div class="exclusion">Awesome content which floats in the center</div>
    <div class="dummy_text">all the text here</div>
</div>

CSS

.container {
    font-size: small;
    background: aqua;
    position: relative;
}
.exclusion {
    background-color: lime;
    -ms-wrap-flow: both;
    -ms-wrap-margin: 10px;
    z-index: 1;
    position:absolute;
    left:0;right:0;
    top:0;bottom:0;
    width: 150px;
    height: 100px;
    background: yellow;
    margin: auto;
}

有关 CSS 排除浏览器支持和更多资源的更多信息,请参阅我的回答 here

【讨论】:

    【解决方案2】:
    <div id="my1">
        <p>some text some text
           <span id="wrap">wrapped text</span>
           some text some text</p>
    </div>
    

    如果我正确阅读问题应该可以吗? &lt;div> 是一个正在破坏的块级元素,&lt;span&gt; 是你想要的内联元素。

    在这里提琴:http://jsfiddle.net/YbuuH/2/

    【讨论】:

    • 谢谢,但这不是我想要的。包装好的 div 可以包含各种 hmtl 内容。
    【解决方案3】:

    使用 css 如下:

    换行 { word-wrap:break-word; }

    这个 css 应该可以将文本换行并继续下一行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-19
      相关资源
      最近更新 更多