我有一个div在对话框的左侧,右侧有一张图片。这个div和图片在垂直方向上起始点相同,但是文本比图片长得多。我希望文本在图片的左侧,一旦图片结束(垂直方向上),文本就占据整个宽度。只要文本有空格,一切都按预期工作。
在Safari上,一旦我点击编辑文本并且文本没有空格,文本会跳到图片下面而不是保持在图片左边。无论文本是否有空格,在Chrome上都能正常工作。
有什么解决办法可以让在Safari上编辑时文本在图片左侧吗?
这是一个简单的JSFiddle https://jsfiddle.net/adeopura/jpu0yckL/,在Chrome (版本号62.0.3202.94)上可以看到期望的行为,在Safari (版本号11.0.1)上却出现了意外的行为。MAC OS版本是10.13.1。我希望不必修改HTML结构,只使用CSS解决问题,但我也愿意听取其他想法。
HTML代码如下:
<div class="image-desc-container">
<div class="image-container">
<img width="120" class="image" src="http://www.ordnung-statt-chaos.de/wp-content/themes/thesis/rotator/sample-4.jpg" />
</div>
<div class="textarea-container">
<div contenteditable="true" class="my-input">Loremipsumdolorsitametconsetetursadipscingelitrseddiam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet</div>
</div>
CSS是:
.image-desc-container{
width: 250px;
min-height: 150px;
position: relative;
border: 1px solid #ccc;
background: #f7f7f7;
padding: 10px;
word-wrap: break-word;
display: block;
}
.image-container{
float: right;
margin-left: 16px;
position: relative;
z-index: 1;
}
.image {
width: 120px;
height: 120px;
}
.textarea-container {
position: relative;
display: block;
}
.my-input {
min-height: auto;
word-break: break-all;
display: block;
user-select: text;
-webkit-user-select: text;
overflow: initial;
white-space: pre-line;
-webkit-nbsp-mode: normal;
line-break: auto;
}