<div id="wrap">
<!-- section -->
<div class="section">
<div class="center">
<div id="grid">
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</div>
</div>
</div>
<!--/section -->
</div>
html,
body {
margin: 0;
padding: 0;
font-family: sans-serif;
font-size: 16px;
line-height: 1.4;
color: #555;
background: #fff;
}
* {
box-sizing: border-box;
}
#wrap {
position: relative;
}
.section {
padding: 40px;
}
.center {
width: 100%;
max-width: 980px;
margin: auto;
}
#grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
grid-gap: 5px;
position: relative;
}
.item {
height: 200px;
box-shadow: inset 0 0 0 1px #aaa;
padding: 20px;
&:hover {
box-shadow: inset 0 0 0 1px #f00;
}
}
View Compiled
$(window).on('load resize', function () {
var $grid = $('#grid');
$grid.find('.item').each(function () {
var $item = $(this),
gridPositionX = $grid.offset().left,
gridPositionY = $grid.offset().top,
itemPositionX = ($item.offset().left - gridPositionX).toFixed(0, 0),
itemPositionY = ($item.offset().top - gridPositionY).toFixed(0, 0);
$item.text('X: ' + itemPositionX + ', Y: ' + itemPositionY);
})
});
This Pen doesn't use any external CSS resources.