Bagaimana cara menjadikan Item Flexbox sebagai hyperlink?

Saya memiliki 3 item (kotak) di dalam flexbox saya yang ingin saya gunakan sebagai hyperlink. Namun, ketika saya membungkus tag in, itu benar-benar merusak tata letak. Bagaimana cara mengatur setiap item (kotak) sebagai hyperlink sehingga pengguna dapat mengklik seluruh area dan mengarahkan mereka ke situs web lain? Sampai sekarang, saya memiliki teks di dalam kotak yang ditetapkan sebagai tautan. Tapi saya ingin menggunakan seluruh kotak sebagai tautan.

Berikut ini codepennya: https://codepen.io/mrhoward/pen/dqqOxj

   HTML:
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
    <link rel="shortcut icon" href="/idimg/misc/favicon.png">
    <meta name="description" content="">
    <meta name="author" content="">
    <title>Flexbox Problem.</title>
    <link href="/idcss/ton.css" rel="stylesheet">
    <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Press+Start+2P|Open+Sans">
  </head>
  <body>
    <h1 class="col">Each Square as Hyperlink</h1>
    <h2 class="col">This is getting annoying</h2>
    <div class="maincontain">
      <div class="col gaming"><a href="/id"><h3 class="title">1</h3></a></div>
      <div class="col music"><a href="/id"><h3 class="title">2</h3></a></div>
      <div class="col dev"><a href="/id"><h3 class="title">3</h3></a></div>
    </div>
  </body>
</html>

CSS:

body {
  background: #333;
  color: #fff;
  padding: 20px;
}
a {
  text-decoration: none;

}

/* FLEXBOX */

* {
  box-sizing: border-box;
}

.col {
  padding: 20px;
}

.maincontain {
  display: flex;
  display: -webkit-flex;
  display: -ms-flexbox;
  justify-content: space-between;
}
.maincontain .col {
  width: 32%;
  height:400px;
  align-items: stretch;

}

@media only screen and (max-width: 40em) {
  .maincontain {
    flex-direction: column;
    height: 300px;
    margin: 0 0 10px 0;
  }
}

@media only screen and (max-width: 40em) {
.maincontain .col {width: 100%;}
.maincontain h3 { font-size: 1.3vh}

}


/* Item Stylig */
.gaming {
  background: #d836eb;

}

.music {
  background: #0000ff;
}

.dev {
  background: #00ff00;
}

/* Font Styling */

h1 {
  font-size:5vw;
  font-family: 'Open Sans', sans-serif;
  font-weight: lighter;
  text-align: center;
  padding: 50px;
}

h2 {
  font-size:2vw;
  font-family: 'Press Start 2P', cursive;
  text-align: center;
  padding: 0px 0px 20px 0px;
}

h3 {
  font-size: 1.3vw;
  font-family: 'Press Start 2P', cursive;
  padding-top: 10px;
  object-fit: cover;
}

.title{
  color: white;
  text-shadow: 1px 1px 4px #000000;
}

person Josh    schedule 16.09.2018    source sumber
comment
ya, ‹a href=›‹/a› di sekitar item merusak tata letak sepenuhnya.   -  person Josh    schedule 16.09.2018
comment
untuk memperjelas, maksud saya menempatkan ‹a href› di sekitar div akan merusaknya.   -  person Josh    schedule 16.09.2018
comment
apakah ini efek yang kamu inginkan? codepen.io/anon/pen/zJJNBP   -  person Chris Li    schedule 16.09.2018
comment
Masalah yang saya temukan adalah mengubah ukuran browser untuk seluler. Benar-benar mengacaukannya.   -  person Josh    schedule 16.09.2018
comment
ya ternyata saya salah mengeja mutlak.. maaf soal itu   -  person Chris Li    schedule 16.09.2018
comment
codepen.io/anon/pen/zJJNBP periksa lagi untuk melihat apakah berfungsi dengan benar   -  person Chris Li    schedule 16.09.2018
comment
Tampilkan tautan sebagai fleksibel dan atur tingginya menjadi 100%;   -  person luenib    schedule 03.11.2020


Jawaban (3)


Di bawah ini adalah link ke pena yang saya fork dan simpan => https://codepen.io/kipomaha/pen/OooWXL

Di bawah ini adalah HTML, saya mengubah kelas dari div dan meletakkannya ke a element yang saya bungkus div tersebut.


<!DOCTYPE html>
<html lang="en">
  <head>
     <meta charset="utf-8">
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
     <meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
     <link rel="shortcut icon" href="/idimg/misc/favicon.png">
     <meta name="description" content="">
     <meta name="author" content="">
     <title>Flexbox Problem.</title>
     <link href="/idcss/ton.css" rel="stylesheet">
     <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Press+Start+2P|Open+Sans">
  </head>
  <body>
     <h1 class="col">Each Square as Hyperlink</h1>
     <h2 class="col">This is getting annoying</h2>
     <div class="maincontain">
        <a href="/id#" class="col gaming"><div><h3 class="title">1</h3></div></a>
        <a href="/id#" class="col music"><div><h3 class="title">2</h3></div></a>
        <a class="col dev" href="/id#"><div><h3 class="title">3</h3></div></a>
     </div>
  </body>
</html>
person Community    schedule 16.09.2018
comment
Terima kasih, ini berhasil. Sungguh lucu bagaimana Anda bisa menghabiskan waktu berjam-jam mencoba memikirkan sesuatu yang begitu sederhana. - person Josh; 16.09.2018
comment
Sesekali istirahatlah! :) - person ; 16.09.2018

periksa contoh ini:

<div id="select">
    <p class="options left">
        <a id="leftq" href="/id#selectionSet">the quick brown fox jumps over the lazy</a>
    </p>
    <p class="options right">
        <a id="rightq" href="/id#selectionSet">dog</a>
    </p>
</div>



#select {
    color: #fff;
    float: left;
    height: 188px;
    width: 631px;
}
#select p.options {
    color: #FFFFFF;
    float: left;
    font-family: 'ComfortaaBold',cursive;
    font-size: 20px;
    height: 100%;
    margin: 0 auto;
    text-align: center;
    width: 48%;  
}
p.options.left {
    align-items: center;
    background: none repeat scroll 0 0 #EBEBEB;
    border-bottom-left-radius: 100px;
    border-right: 2px solid #FFFFFF;
    border-top-left-radius: 100px;
    display: flex;
    justify-content: center;
    padding-left: 5px;
    padding-right: 5px;
}
p.options.right {
    align-items: center;
    background: none repeat scroll 0 0 #EBEBEB;
    border-bottom-right-radius: 100px;
    border-left: 2px solid #FFFFFF;
    border-top-right-radius: 100px;
    display: flex;
    justify-content: center;
    padding-left: 5px;
    padding-right: 5px;
}
#select p.options a {
    color: #636363;
    padding: 80px 0;
    text-decoration: none;
    display:block;
    width:100%;
}
#select p.options a:hover {
    color: #FFFFFF;
}
p.options.right:hover, p.options.left:hover {
    background-color: #00AEEF !important;
}

.rightq {
    width: 100%;
}
person Siavash    schedule 16.09.2018

Coba tambahkan tag <a> di dalam elemen <h3> seperti di bawah ini

<h3><a hrer =""><a></h3>

Dengan

 . maincontain a{
     display :block;
} 
person Abhijit    schedule 16.09.2018