2017-07-19 58 views
0

我一直在一個項目工作,並有一個頁面,它會顯示幾個div(使用ejs),但如果一個div有3行另一個有2個,一個會比另一個大很多。是否有可能使用CSS縮小文本自動適合div的大小

enter image description here

這裏是我的HTML/ejs文件代碼:

<div id = "home" class = "container"> 
<h1 class="polls-head">Polls</h1> 
<div class="main-aligner">   
    <% for(var i = 0; i < allPolls.length; i++){ %> 
    <div class="title" id="dynamicDiv"> 
     <div class="poll-name" id="dynamicSpan"> 
     <%= allPolls[i].title %> 
    </div> 
    <div class="poll-link"> 
     <div class= "poll-view"> 
      <a href="polls/<%= allPolls[i]._id %>" class="btn button view">View Poll</a> 
     </div> 
     <div class="createdBy"> 
      <p>Created by: <%=allPolls[i].createdBy %></p> 
     </div> 
    </div> 
    </div> 
    <%}%> 
</div> 
</div> 

而對於CSS文件

.title 
{ 
    font-family: "Lato"; 
    width: 365px; 
    height: auto; 
    min-height: 150%; 
    background-color: #dfdce3; 
    display: inline-block; 
    margin-top: 10px; 
    margin-right: 5px; 
    margin-left: 5px; 
    text-align: center; 
} 
.poll-name 
{ 
    font-size: 50px; 
} 

是如果長度超過2行,可以自動縮小文本的大小?或者有什麼辦法可以讓所有的盒子尺寸相同,所以盒子的尺寸總是和最多線條的盒子尺寸相同?

+0

這聽起來像爲JavaScript的作業。我不熟悉用CSS來做到這一點。你可以掩蓋文本,但實際上縮小它,你將需要JS。 –

回答

0

您可以嘗試使用下面

.poll-name { 
    overflow: hidden; 
    text-overflow: ellipsis; 
    word-wrap: break-word; 
    display: block; 
    line-height: 1em; /* a */ 
    max-height: 2em; /* a x number of line to show (ex : 2 line) */ 
} 

乾杯這個代碼!

+1

謝謝阿德克牧師!這些代碼行與我的網站非常吻合! –

+0

很高興聽到這個消息,無論如何,您可能需要在跨瀏覽器上檢查這些代碼。 – Spartan

0

您可以使用em或rem而不是像素來確定字體的大小。它會響應並隨着它所在元素的大小而變化。

相關問題