Reputation: 1227
I have a simple div which has 5 to 6 values. I need to show all in rows, not in one line like 3 in the first and 2 in the second row. It will automatically set the width and adjust:
.block_container6 > div {
display: inline-block;
vertical-align: middle;
margin-left: 10px;
margin-top: 5px;
}
.bloc6{
font-size:9px;
font-weight: 500;
}
.bloc61{
font-size: 9px;
}
<div class="row" >
<div class="block_container6" >
<div class="bloc6">Group No:</div>
<div class="bloc61">2132131}</div>
</div>
<div class="block_container6" >
<div class="bloc6">Plan:</div>
<div class="bloc61">1231231</div>
</div>
<div class="block_container6" >
<div class="bloc6">Certificate No:</div>
<div class="bloc61">21321312</div>
</div>
<div class="block_container6">
<div class="bloc6">Effective Date:</div>
<div class="bloc61">12321312</div>
</div>
<div class="block_container6" >
<div class="bloc6">Expiry Date:</div>
<div class="bloc61">131231</div>
</div>
</div>
My expected example result is like this:
Groupno: 2132131} Plan: 1231231 and so on
Upvotes: 1
Views: 1632
Reputation: 955
Do with few line of code using css flex
.block_container{
display:flex;
}
.block_container6{
display:flex;
width:100%;
justify-content:center;
}
<div class="row block_container" >
<div class="block_container6" >
<div class="bloc6">Group No:</div>
<div class="bloc61">2132131}</div>
</div>
<div class="block_container6" >
<div class="bloc6">Plan:</div>
<div class="bloc61">1231231</div>
</div>
<div class="block_container6" >
<div class="bloc6">Certificate No:</div>
<div class="bloc61">21321312</div>
</div>
</div>
Upvotes: 1
Reputation: 6742
Use display: flex
to align your divs. btw, if your text is some real data, it would be better to use semantic elements for it, like a definition list (you can style it the same way as divs)
.row {
display: flex;
}
dd, dt {
margin-left: 10px;
font-size: 12px;
}
.row > div{
display: flex;
}
.block_container6 > div {
margin-left: 10px;
margin-top: 5px;
}
.bloc6{
font-size:9px;
font-weight: 500;
}
.bloc61{
font-size: 9px;
}
<div class="row" >
<div class="block_container6" >
<div class="bloc6">Group No:</div>
<div class="bloc61">2132131}</div>
</div>
<div class="block_container6" >
<div class="bloc6">Plan:</div>
<div class="bloc61">1231231</div>
</div>
<div class="block_container6" >
<div class="bloc6">Certificate No:</div>
<div class="bloc61">21321312</div>
</div>
<div class="block_container6">
<div class="bloc6">Effective Date:</div>
<div class="bloc61">12321312</div>
</div>
<div class="block_container6" >
<div class="bloc6">Expiry Date:</div>
<div class="bloc61">131231</div>
</div>
</div>
<dl class="row">
<dt> Plan: </dt>
<dd> 123123123</dd>
<dt> Certificate No: </dt>
<dd> 1243453452</dd>
<dt> Effective Date: </dt>
<dd> 5739879 </dd>
<dt> Expiry Date: </dt>
<dd> 4857892 </dd>
</dl>
Upvotes: 3
Reputation: 905
This looks like a perfect job for flexbox, here's an example based on your code:
.row {
display: flex;
justify-content: space-between;
}
.block_container6 > div {
display: inline-block;
vertical-align: middle;
margin-left: 10px;
margin-top: 5px;
}
.bloc6{
font-size:9px;
font-weight: 500;
}
.bloc61{
font-size: 9px;
}
<div class="row" >
<div class="block_container6" >
<div class="bloc6">Group No:</div>
<div class="bloc61">2132131}</div>
</div>
<div class="block_container6" >
<div class="bloc6">Plan:</div>
<div class="bloc61">1231231</div>
</div>
<div class="block_container6" >
<div class="bloc6">Certificate No:</div>
<div class="bloc61">21321312</div>
</div>
<div class="block_container6">
<div class="bloc6">Effective Date:</div>
<div class="bloc61">12321312</div>
</div>
<div class="block_container6" >
<div class="bloc6">Expiry Date:</div>
<div class="bloc61">131231</div>
</div>
</div>
Upvotes: 3
Reputation: 1025
If I understand you correctly you want to display all the divs in one row, right? If so you would need to set block_container6
to display: inline;
or display: inline-block;
.
If the with of the elements is higher than the containing element, they will break anyways but this is another topic, I think.
.block_container6 {
display: inline-block;
}
.block_container6 > div {
display: inline-block;
vertical-align: middle;
margin-left: 10px;
margin-top: 5px;
}
.bloc6{
font-size:9px;
font-weight: 500;
}
.bloc61{
font-size: 9px;
}
<div class="row" >
<div class="block_container6" >
<div class="bloc6">Group No:</div>
<div class="bloc61">2132131}</div>
</div>
<div class="block_container6" >
<div class="bloc6">Plan:</div>
<div class="bloc61">1231231</div>
</div>
<div class="block_container6" >
<div class="bloc6">Certificate No:</div>
<div class="bloc61">21321312</div>
</div>
<div class="block_container6">
<div class="bloc6">Effective Date:</div>
<div class="bloc61">12321312</div>
</div>
<div class="block_container6" >
<div class="bloc6">Expiry Date:</div>
<div class="bloc61">131231</div>
</div>
</div>
Upvotes: 1
Reputation: 926
Add the following rule set:
.block_container6 {
display: inline-block;
}
.block_container6 {
display: inline-block;
}
.block_container6>div {
display: inline-block;
vertical-align: middle;
margin-left: 10px;
margin-top: 5px;
}
.bloc6 {
font-size: 9px;
font-weight: 500;
}
.bloc61 {
font-size: 9px;
}
<div class="row">
<div class="block_container6">
<div class="bloc6">Group No:</div>
<div class="bloc61">2132131}</div>
</div>
<div class="block_container6">
<div class="bloc6">Plan:</div>
<div class="bloc61">1231231</div>
</div>
<div class="block_container6">
<div class="bloc6">Certificate No:</div>
<div class="bloc61">21321312</div>
</div>
<div class="block_container6">
<div class="bloc6">Effective Date:</div>
<div class="bloc61">12321312</div>
</div>
<div class="block_container6">
<div class="bloc6">Expiry Date:</div>
<div class="bloc61">131231</div>
</div>
</div>
Upvotes: 1