2012-10-11 47 views
2

我試圖實現一些非常簡單的事情,但我無法弄清楚我做錯了什麼。我有以下html標記:JSFiddle,目標是在文字長於圖像時使文本換行,即文本應水平換行並且不超過圖像的高度。HTML/CSS水平文本包裝

雖然有兩個問題:我無法編輯文本,文本是從數據庫中提取的塊。

+0

這_can_更改標記的部分?例如,你可以將文本塊包裝到另一個元素中嗎?另外,是否從數據庫中提取'
'?硬編碼的換行符可能是一個問題。 – andyb

+0

是的,我可以改變周圍的標記,但我不能改變塊內容本身,雖然我可能能夠刪除換行 – Anonymous

回答

2

如果您不能刪除<br/>元素,然後將它們設置爲:

br { 
    display:none; 
} 

應該刪除它們。這是導致包裝問題的硬線斷裂的存在。

如果您可以刪除<br/>元素,那麼文本將更接近您所需的流程。但是,高度(可能是寬度)和溢出規則需要添加到包含元素,以停止圖像下的文字環繞。

HTML

<div class="footer-row-1"> 
    <a style="float: left; margin-right: 25px;" href="index.html"><img src="http://theliberalstore.com/products/media/Q-EmptyRedSlash.gif" alt=""></a> 
    <div class="textBlock"> // <--- added a container for the text block 
    <p> Some Really Really long <br /> 
text, text, text<br /> 
text, text, text<br /> 
text, text, text: <br /> 
text, text, text<br /> 
text, text,<br /> 
<br /> 
text, text, text<br /> 
text, text, text<br /> 
<br /> 
text, text, text <br /> 
text, text, text<br /> 
text, text, text<br /> 
<br /> 
text, text, text</p> 
    <p>text, text, text, text, text, text</p> 
     <p style="padding-top: 5px;" class="color-4">text, text, text, text, text, text</p> 
    </div> 
</div> 
<div class="footer-row-2"> 
    Another completely different content here 
</div>​​​ 

CSS

.footer-row-2 { 
    clear:both; 
} 

br { 
    display:none; 
} 

.textBlock { 
    width:300px; /* for demo, to force a scroll bar */ 
    height:100px; /* same as image */ 
    overflow-x:hidden; 
    overflow-y:scroll; 
} 

+0

謝謝,但客戶堅決認爲滾動是不可接受的,生病繼續尋找一種更乾淨的方式。 – Anonymous

+0

那麼,如果文本的長度太長以至於佔用圖像旁邊所有可用的寬度和高度,那麼應該發生什麼?似乎在客戶端不希望圖像下面有任何文本的情況下,在最後放置省略號和/或_read more_type鏈接並隱藏任何剩餘文本是_only_解決方案。 – andyb

+0

它應該分段,但我想生病必須至少放一些標籤來標記在哪裏。我仍在嘗試不同的解決方案。 – Anonymous