2017-09-15 68 views
2

一直在瀏覽我的問題解決方案的網絡,所有柔性盒的寬度相同,但沒有運氣。所以我試着在這裏問你。Flexbox佈局。無法將相框的寬度設置爲

正如您所看到的,如果描述很長,那麼該框也會更寬。一直玩word-wrap: break-word;沒有任何運氣。

請參閱下面的代碼段或jsfiddle

.buttons { 
 
    display: flex; 
 
} 
 

 
.buttons>a { 
 
    margin: 0 5px; 
 
} 
 

 
.food-box { 
 
    flex: 1; 
 
    position: relative; 
 
    background-color: white; 
 
    min-height: 300px; 
 
    background-color: #ffffff; 
 
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.10); 
 
    border-color: #d3e0e9; 
 
    border: 1px solid #b3c9e5; 
 
    word-wrap: break-word; 
 
    margin: 0 !important; 
 
    padding: 0 !important; 
 
} 
 

 
.food-box .food-box-image { 
 
    position: absolute top: 0 left: 0; 
 
    background-image: url('https://images.pexels.com/photos/461198/pexels-photo-461198.jpeg?h=350&auto=compress&cs=tinysrgb'); 
 
    background-size: cover; 
 
    width: 100%; 
 
    min-height: 150px; 
 
    background-color: red; 
 
} 
 

 
.food-box .food-box-content { 
 
    position: absolute bottom: 0 left: 0; 
 
    word-wrap: break-word; 
 
    width: 100%; 
 
    min-height: 150px; 
 
    background-color: #e25822; 
 
    color: #fff; 
 
    font-size: 70%; 
 
    padding-top: 60px; 
 
    padding-left: 5px; 
 
    padding-right: 5px; 
 
} 
 

 
.food-box .food-box-badge { 
 
    display: table; 
 
    background-color: #ffffff; 
 
    position: absolute; 
 
    left: 50%; 
 
    top: 50%; 
 
    -webkit-transform: translate(-50%, -50%); 
 
    transform: translate(-50%, -50%); 
 
    width: 100px; 
 
    height: 100px; 
 
    line-height: 100px; 
 
    border-radius: 50%; 
 
    font-size: 12px; 
 
    color: #000000; 
 
    text-align: center; 
 
    -webkit-box-shadow: 0px 0px 39px 4px rgba(0, 0, 0, 0.75); 
 
    -moz-box-shadow: 0px 0px 39px 4px rgba(0, 0, 0, 0.75); 
 
    box-shadow: 0px 0px 39px 4px rgba(0, 0, 0, 0.75); 
 
    border-color: #d3e0e9; 
 
    border: 1px solid #b3c9e5; 
 
    padding-left: 10px; 
 
    padding-right: 10px; 
 
} 
 

 
.food-box .food-box-badge span { 
 
    color: #666; 
 
    display: table-cell; 
 
    vertical-align: middle; 
 
    line-height: 1.2em; 
 
    word-wrap: break-word; 
 
}
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> 
 
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" /> 
 

 
<div class="buttons"> 
 
    <asp:LinkButton runat="server" id="lnkNewTapas" OnClick="lnkNewTapas_OnClick"> 
 
    <div class="food-box"> 
 
     <div class="food-box-image" runat="server" id="foodBoxBGTapas"> 
 
     </div> 
 
     <div class="food-box-badge"> 
 
     <span>Tapas</span> 
 
     </div> 
 
     <div class="food-box-content"> 
 
     Velsmakende og orientalske tapasretter! 
 
     </div> 
 
    </div> 
 
    </asp:LinkButton> 
 
    <asp:LinkButton runat="server" id="lnkNavKoldtbord" OnClick="lnkNavKoldtbord_OnClick"> 
 
    <div class="food-box"> 
 
     <div class="food-box-image" runat="server" id="foodBoxBGKoldtbord"> 
 
     </div> 
 
     <div class="food-box-badge"> 
 
     <span>Koldtbord</span> 
 
     </div> 
 
     <div class="food-box-content"> 
 
     Velg mellom våre to smakfulle koldtbordvarianter... 
 
     </div> 
 
    </div> 
 
    </asp:LinkButton> 
 
    <asp:LinkButton runat="server" id="lnkPasmurt" OnClick="lnkPasmurt_OnClick"> 
 
    <div class="food-box"> 
 
     <div class="food-box-image" runat="server" id="foodBoxBGPasmurt"> 
 
     </div> 
 
     <div class="food-box-badge"> 
 
     <span>Påsmurt</span> 
 
     </div> 
 
     <div class="food-box-content"> 
 
     Velg fritt i vårt store utvalg av baguetter, snitter, rundstykker. 
 
     </div> 
 
    </div> 
 
    </asp:LinkButton> 
 
    <asp:LinkButton runat="server" id="lnkNewMed" OnClick="lnkNewMed_OnClick"> 
 
    <div class="food-box"> 
 
     <div class="food-box-image" runat="server" id="foodBoxBGMed"> 
 
     </div> 
 
     <div class="food-box-badge"> 
 
     <span>Middelhavs buffét</span> 
 
     </div> 
 
     <div class="food-box-content"> 
 
     Orientalske matretter med spennende smaker! 
 
     </div> 
 
    </div> 
 
    </asp:LinkButton> 
 
    <asp:LinkButton runat="server" id="lnkNewVarmmat" OnClick="lnkNewVarmmat_OnClick"> 
 
    <div class="food-box"> 
 
     <div class="food-box-image" runat="server" id="foodBoxBGVarmmat"> 
 
     </div> 
 
     <div class="food-box-badge"> 
 
     <span>Varmmat</span> 
 
     </div> 
 
     <div class="food-box-content"> 
 
     Et stort utvalg av varmmatretter! 
 
     </div> 
 
    </div> 
 
    </asp:LinkButton> 
 
</div>

+0

所有你需要的是柔性物品上的flex:1。 https://jsfiddle.net/7pwar5v6/2/ –

+0

@Michael_B:試過了,沒有工作......試着爲自己:) 我注意到很多問題被標記爲重複很多次......而70%在這種情況下......它更像是一個普通的......「原始CSS混亂了flexbox-layout,我無法弄清楚我的情況是什麼原因...... 我使用默認的flexbox「模板」進行了試用..工作,我縮小了CSS,剝離了樣式等等......成功..但是......我需要的正是我所做的,而且無法對它進行排序所以因此..重複的「技術問題」是的..但沒有解決方案.. –

+0

我測試了你的代碼,我也測試了我的解決方案,它的工作原理,請參閱我的評論中的演示。 –

回答

2

我覺得這兩個設置和擦除從.foodboxwidth應該做的伎倆,因爲.foodbox元素柔性項目,但柔性項的孩子:

.buttons > * { 
    width: 20%; 
} 
.buttons > * > *{ 
    width: 100%; 
    text-align: center; 
} 

https://jsfiddle.net/yuwhpgrn/2/

+0

感謝3個很好的答案!儘管所有這些解決了問題,但我發現@Johannes解決方案最簡單,無需爲食品盒元素本身設置指定的寬度...... :)謝謝! –

1

你可以添加寬度爲ASP:LinkBut​​ton的元素,是這樣的:

[runat]{ 
    width: calc(100%/5); 
} 
1

這似乎與溢出將在 '食品盒' 固定寬度解決:隱。我與「破字」廢除和中心內容:

.buttons { 
    display: flex; 
} 

.buttons > a { 
    margin: 0 5px; 
} 

.food-box { 
    flex: 1; 
width: 200px; 
overflow: hidden; 
    position: relative; 
    background-color: white; 
    min-height: 300px; 
    background-color: #ffffff; 
    box-shadow: 0 3px 3px rgba(0, 0, 0, 0.10); 
    border-color: #d3e0e9; 
    border: 1px solid #b3c9e5; 
    word-wrap: break-word; 
    margin: 0 !important; 
    padding: 0 !important; 
} 

.food-box .food-box-image { 
    position: absolute top: 0 left: 0; 
    background-image: url('https://images.pexels.com/photos/461198/pexels-photo-461198.jpeg?h=350&auto=compress&cs=tinysrgb'); 
    background-size: cover; 
    width: 100%; 
    min-height: 150px; 
    background-color: red; 
} 

.food-box .food-box-content { 
    position: absolute bottom: 0 left: 0; 
/* word-wrap: break-word; */ 
text-align: center; 
    width: 100%; 
    min-height: 150px; 
    background-color: #e25822; 
    color: #fff; 
    font-size: 70%; 
    padding-top: 60px; 
    padding-left: 5px; 
    padding-right: 5px; 
} 

.food-box .food-box-badge { 
    display: table; 
    background-color: #ffffff; 
    position: absolute; 
    left: 50%; 
    top: 50%; 
    -webkit-transform: translate(-50%, -50%); 
    transform: translate(-50%, -50%); 
    width: 100px; 
    height: 100px; 
    line-height: 100px; 
    border-radius: 50%; 
    font-size: 12px; 
    color: #000000; 
    text-align: center; 
    -webkit-box-shadow: 0px 0px 39px 4px rgba(0, 0, 0, 0.75); 
    -moz-box-shadow: 0px 0px 39px 4px rgba(0, 0, 0, 0.75); 
    box-shadow: 0px 0px 39px 4px rgba(0, 0, 0, 0.75); 
    border-color: #d3e0e9; 
    border: 1px solid #b3c9e5; 
    padding-left: 10px; 
    padding-right: 10px; 
} 

.food-box .food-box-badge span { 
    color: #666; 
    display: table-cell; 
    vertical-align: middle; 
    line-height: 1.2em; 
    word-wrap: break-word; 
} 

https://jsfiddle.net/zornfett/8r4L2c3r/

+0

謝謝@zornfett ..應該可能已經注意到了,但試圖遠離指定一個恆定的寬度食品盒:)謝謝,雖然! –

相關問題