Как ответил Рохит Шетти , вы можете обернуть свои <div>
элементы <a>
элементами , а не наоборот.Также см. Сделать весь Div кликабельным .Вот пример:
.container {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: 400px 400px;
grid-gap: 8px;
}
.content {
background-color: #60330A;
width: 100%;
background-position: center;
background-size: cover;
text-align: center;
transition: transform .3s;
}
.content:hover {
transform: scale(1.05);
}
.content1 {
background-image: url('https://picsum.photos/200/300?1')
}
.content2 {
background-image: url('https://picsum.photos/200/300?2')
}
.content3 {
background-image: url('https://picsum.photos/200/300?3')
}
.content4 {
background-image: url('https://picsum.photos/200/300?4')
}
<div class="container">
<a class="content content1" title="Our Products" href="https://www.example.com">
<div>OUR PRODUCTS</div>
</a>
<a class="content content2">CONTENT</a>
<a class="content content3">CONTENT</a>
<a class="content content4">CONTENT</a>
</div>
В качестве альтернативы (но, вероятно, излишне), чтобы ваши <a>
элементы заполняли свои родительские элементы <div>
, вы можете установить их размер width:100%
и height:100%
, вот так:
.container {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: 400px 400px;
grid-gap: 8px;
}
.content {
background-color: #60330A;
width: 100%;
background-position: center;
background-size: cover;
text-align: center;
transition: transform .3s;
}
.content:hover {
transform: scale(1.05);
}
.content a {
display: block;
width: 100%;
height: 100%;
}
.content1 {
background-image: url('https://picsum.photos/200/300?1')
}
.content2 {
background-image: url('https://picsum.photos/200/300?2')
}
.content3 {
background-image: url('https://picsum.photos/200/300?3')
}
.content4 {
background-image: url('https://picsum.photos/200/300?4')
}
<div class="container">
<div class="content content1">
<a title="Our Products" href="https://www.example.com">OUR PRODUCTS</a>
</div>
<div class="content content2">CONTENT</div>
<div class="content content3">CONTENT</div>
<div class="content content4">CONTENT</div>
</div>
Однако, если у вас нет особых причин для дополнительных <div>
, я предлагаю удалить их и просто использовать элементы <a>
в вашей сетке:
.container {
display: grid;
grid-template-columns: 1fr 1fr;
grid-template-rows: 400px 400px;
grid-gap: 8px;
}
.content {
background-color: #60330A;
width: 100%;
background-position: center;
background-size: cover;
text-align: center;
transition: transform .3s;
}
.content:hover {
transform: scale(1.05);
}
.content1 {
background-image: url('https://picsum.photos/200/300?1')
}
.content2 {
background-image: url('https://picsum.photos/200/300?2')
}
.content3 {
background-image: url('https://picsum.photos/200/300?3')
}
.content4 {
background-image: url('https://picsum.photos/200/300?4')
}
<div class="container">
<a class="content content1" title="Our Products" href="https://www.example.com">OUR PRODUCTS</a>
<a class="content content2">CONTENT</a>
<a class="content content3">CONTENT</a>
<a class="content content4">CONTENT</a>
</div>