To add space between elements in a table, padding can be used effectively.
If you are looking for guidance on specifying table padding in CSS (not cell padding), check out this helpful resource: How do you specify table padding in CSS? ( table, not cell padding )
If you need to display a list of products without using a datatable, here is a simple example to get you started:
body{
margin:0;padding:0;
}
.table{
background-color: #3f4a6c;
height:100vh;
width:100vw;
flex-direction:column;
display: flex;
justify-content:center;
align-items: center;
}
.table .product{
min-width: 150px;
overflow:hidden;
border: 1px solid #969aaa;
background-color:#ffffff;
border-radius: 10px;
display:flex;
align-items:center;
margin-bottom:10px;
}
.product img{
padding:5px;
}
.product span {
min-width:200px;
margin-left: 20px;
}
.product.active span{
color:#7e7edd;
font-weight:bold;
}
.product .more{
width:70px;
display:flex;
justify-content:center;
margin-left:20px;
height:100%;
box-shadow: -12px 0px 10px 0px #f2f2f2;
}
<html>
<body>
<div class="table">
<div class="product active">
<img src="https://via.placeholder.com/40"/>
<span >Lorem ipsum</span>
<div class="more"><img src="https://via.placeholder.com/15"/></div>
</div>
<div class="product">
<img src="https://via.placeholder.com/40"/>
<span>Lorem ipsum</span>
<div class="more"><img src="https://via.placeholder.com/15"/></div>
</div>
<div class="product">
<img src="https://via.placeholder.com/40"/>
<span>Lorem ipsum</span>
<div class="more"><img src="https://via.placeholder.com/15"/></div>
</div>
</div>
</body>
</html>