Как центрировать карточки и удалить полосу прокрутки?

#html #css

#HTML #css

Вопрос:

Я добавил 9 карточек на веб-сайт, который я создаю, и у меня возникли две проблемы.

(1) Как мне расположить 9 карточек по центру? Так как он находится левее и не по центру экрана.

(2) Как мне удалить полосу прокрутки? Кажется, что расстояние между верхней и нижней картами, а также под нижними картами велико, поэтому оно перемещается вниз и имеет полосу прокрутки.

Изображение веб-сайта

 <!DOCTYPE html>
<html>

<head>

<title>Discover | Sweeties</title>

<header>
  <div class="header">
    <nav class="navigation">
      <a href="#" class="navbar-logo">Sweeties | Popular Destinations  </a>
      <div class="navbar-right">
        <a href="Home.html">Home</a>
        <a href="Discover.html">Discover</a>
        <a href="#">About Us</a>
        <a href="#">Contact</a>
        <a href="#">About Developer</a>
        
      </div>
    </nav>
    
    <style>
    
        .navigation{
        padding-top:30px;
        padding-bottom:30px;
        position:absolute;
        top:0;
        width:100%;
        z-index:1001;
    }

        .navbar-right{
        float:right;
        padding-right:10%;
    }

        .navbar-right a{
        text-decoration:none;
        padding:10px;
        color: #FFFFFF;
        font-family:Calibri;
        font-weight:900;
        font-size: 25px;
    }

        .navbar-right a:hover{
        text-decoration:underline;
    }
        .navbar-logo{
        padding-left:10%;
        font-family:Calibri;
        font-size:30px;
        font-weight:bold;
        text-decoration:none;
        color:#FFFFFF; 

    }

        .video-container {
        z-index: -100;
        width:100%;
        height:75%;
        overflow:hidden;
        position:absolute;
        top:0;
        left:0;
    }

        #video-bg{
        width:100%;
 
        }

        .portfolio-section{
        margin-top:50%;
    }
        .tagline-left{
        float:left;
        width:50%;
        text-align:center;
    }

        .tagline-right{
        float:right;
        width:50%;
        text-align:center;
    }

        .tagline-video{
        width:75%;
    }

        .tagline-right-text{
        position:absolute;
        margin-top:9%;
        text-align:center;
        margin-left:17%;
        font-family:Calibri;
        color:#FFFFFF;
        width:290px;
        font-size:40px;
    }

        .tagline-left-text{
        position:absolute;
        margin-top:9%;
        text-align:center;
        margin-left:11%;
        font-family:Calibri;
        color:#fff;
        width:375px;
        font-size:40px;
    }

</style>


        <style type="text/css">
            
            * {
                margin: 0;
                padding: 0;
            }

            body {
                font-family: Calibri, sans-serif;
            }

            .background-wrap {
                position: fixed;
                z-index: -1001;
                width: 100%;
                height: 100%;
                overflow: hidden;
                top: 0;
                left: 0;
            }
            
        
            #video-bg-elem {
                position: absolute;
                top: 0;
                left: 0;
                min-height: 100%;
                min-width: 100%;
            }


            .content {
                position: absolute;
                width: 100%;
                min-height: 100%;
                z-index: 1000;
                background-color: rgba(0,0,0,0.7);
            }
            .content h1 {
                text-align: center;
                font-size: 100px;
                text-transform: uppercase;
                font-weight: 300;
                color: #fff;
                padding-top: 15%;
                margin-bottom: 10px;
            }
            .content p {
                text-align: center;
                font-size: 50px;
                letter-spacing: 3px;
                color: #aaa;
            }
            
                        
        </style>
        
    </head>
    
    <body>
            

        <div class="background-wrap">
            <video id="video-bg-elem" preload="auto" autoplay="true" loop="loop" muted="muted"> 
                <source src="Videos/beach1.mp4" type="video/mp4">
            </video>          
        </div>
        
    </body>
    
    <style type="text/css">


*{
 margin: 0px;
 padding: 0px;
}
body{
 font-family: Calibri;
}
.main{

 margin: 3%;
}

.card{
     width: 20%;
     background-color: white;
     display: inline-block;
     box-shadow: 2px 2px 20px black;
     border-radius: 25px; 
     margin: 2%;
    }

    
.image img{
  width: 100%;
  border-top-right-radius: 25px;
  border-top-left-radius: 25px;
  
 }

.title{
 
  text-align: center;
  padding: 20px;
  
 }

h1{
  font-size: 40px;
 }
 
 h2{
  font-size: 22px;
 }

.des{
  padding: 3px;
  text-align: center;
 
  padding-top: 5px;
        border-bottom-right-radius: 5px;
  border-bottom-left-radius: 5px;
}
button{
  margin-top: 40px;
  margin-bottom: 10px;
  background-color: white;
  border: 1px solid black;
  border-radius: 100px;
  padding:10px;
}
button:hover{
  background-color: black;
  color: white;
  transition: .5s;
  cursor: pointer;
}

{
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

.card {
    position: relative;
    overflow: hidden;
    
}
.card img {
    max-width: 100%;
    transition: all 0.3s;
    display: block;
    width: 100%;
    height: auto;
    transform: scale(1.20);
}

.card:hover img {
    transform: scale(1);
}
</style>
<body>

<div class="main">

<div class="card">

<div class="image">
   <img src="Images/rakiraki.jpg">
</div>
<div class="title">
 <h1>
Rakiraki</h1>
</div>
<div class="des">
 <h2>Dive Wananavu</h2>
<button onclick="document.location='https://www.tripadvisor.com/Attraction_Review-g297568-d3850463-Reviews-Dive_Wananavu-Rakiraki_Viti_Levu.html'">Read More...</button>
</div>
</div>

<div class="card">

<div class="image">
   <img src="Images/Lautoka.jpg">
</div>
<div class="title">
 <h1>
Lautoka</h1>
</div>
<div class="des">
 <h2>Koroyanitu National Heritage Park</h2>
<button onclick="document.location='default.asp'">Read More...</button>
</div>
</div>

<div class="card">

<div class="image">
   <img src="Images/nadi.jpg">
</div>
<div class="title">
 <h1>
Nadi  </h1>
</div>
<div class="des">
 <h2>Denarau Island</h2>
<button onclick="document.location='default.asp'">Read More...</button>
</div>
</div>

<div class="card">

<div class="image">
   <img src="Images/sigatoka.jpg">
</div>
<div class="title">
 <h1>
Sigatoka</h1>
</div>
<div class="des">
 <h2>Sand Dunes</h2 >
<button onclick="document.location='default.asp'">Read More...</button>
</div>
</div>

<div class="card">

<div class="image">
   <img src="Images/ph.jpg">
</div>
<div class="title">
 <h1>
Pacific Harbour</h1>
</div>
<div class="des">
 <h2>Arts Village</h2>
<button onclick="document.location='default.asp'">Read More...</button>
</div>
</div>

<div class="card">

<div class="image">
   <img src="Images/suva.jpg">
</div>
<div class="title">
 <h1>
Suva</h1>
</div>
<div class="des">
 <h2>Museum</h2>
<button onclick="document.location='default.asp'">Read More...</button>
</div>
</div>

<div class="card">

<div class="image">
   <img src="Images/Labasa.jpg">
</div>
<div class="title">
 <h1>
    Labasa</h1>
</div>
<div class="des">
 <h2> KokoMana Vuadomo Waterfall</h2>
<button onclick="document.location='default.asp'">Read More...</button>
</div>
</div>

<div class="card">

<div class="image">
   <img src="Images/savusavu.jpg">
</div>
<div class="title">
 <h1>
Savusavu</h1>
</div>
<div class="des">
 <h2>KokoMana Coco Farm</h2>
<button onclick="document.location='default.asp'">Read More...</button>

</div>
</div>




</div>
</div>
</div>
</body>
</html>
  

Ответ №1:

Лучший подход, который я бы предложил, flex . Я добавил некоторый пользовательский стиль к вашему существующему коду, просто чтобы сделать его более гибким. Вот мой дополнительный css добавлен.

 .main {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.card {
  display: flex;
  flex-direction: column;
}

.des {
  flex-grow: 1;
  justify-content: space-between;
  display: flex;
  flex-direction: column;
}
  

Ваша рабочая скрипка.

 .navigation {
  padding-top: 30px;
  padding-bottom: 30px;
  /* position: absolute;
  top: 0; */
  width: 100%;
  z-index: 1001;
}

.navbar-right {
  float: right;
  padding-right: 10%;
}

.navbar-right a {
  text-decoration: none;
  padding: 10px;
  color: #ffffff;
  font-family: Calibri;
  font-weight: 900;
  font-size: 25px;
}

.navbar-right a:hover {
  text-decoration: underline;
}
.navbar-logo {
  padding-left: 10%;
  font-family: Calibri;
  font-size: 30px;
  font-weight: bold;
  text-decoration: none;
  color: #ffffff;
}

#video-bg {
  width: 100%;
}

.portfolio-section {
  margin-top: 50%;
}
.tagline-left {
  float: left;
  width: 50%;
  text-align: center;
}

.tagline-right {
  float: right;
  width: 50%;
  text-align: center;
}

.tagline-video {
  width: 75%;
}

* {
  margin: 0;
  padding: 0;
}

body {
  font-family: Calibri, sans-serif;
}

.background-wrap {
  position: fixed;
  z-index: -1001;
  width: 100%;
  height: 100%;
  overflow: hidden;
  top: 0;
  left: 0;
}

#video-bg-elem {
  position: absolute;
  top: 0;
  left: 0;
  min-height: 100%;
  min-width: 100%;
}

.content {
  position: absolute;
  width: 100%;
  min-height: 100%;
  z-index: 1000;
  background-color: rgba(0, 0, 0, 0.7);
}
.content h1 {
  text-align: center;
  font-size: 100px;
  text-transform: uppercase;
  font-weight: 300;
  color: #fff;
  padding-top: 15%;
  margin-bottom: 10px;
}
.content p {
  text-align: center;
  font-size: 50px;
  letter-spacing: 3px;
  color: #aaa;
}

* {
  margin: 0px;
  padding: 0px;
}
body {
  font-family: Calibri;
}
.main {
  /* Commented */
  /* margin: 3%; */
}

.card {
  width: 20%;
  background-color: white;
  display: inline-block;
  box-shadow: 2px 2px 20px black;
  border-radius: 25px;
  margin: 2%;
}

.image img {
  width: 100%;
  border-top-right-radius: 25px;
  border-top-left-radius: 25px;
}

.title {
  text-align: center;
  padding: 20px;
}

h1 {
  font-size: 40px;
}

h2 {
  font-size: 22px;
}

.des {
  padding: 3px;
  text-align: center;

  padding-top: 5px;
  border-bottom-right-radius: 5px;
  border-bottom-left-radius: 5px;
}
button {
  margin-top: 40px;
  margin-bottom: 10px;
  background-color: white;
  border: 1px solid black;
  border-radius: 100px;
  padding: 10px;
}

button:hover {
  background-color: black;
  color: white;
  transition: 0.5s;
  cursor: pointer;
}

.card {
  position: relative;
  overflow: hidden;
}
.card img {
  max-width: 100%;
  transition: all 0.3s;
  display: block;
  width: 100%;
  height: auto;
  transform: scale(1.2);
}

.card:hover img {
  transform: scale(1);
}

/* Custom styles */
.main {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
}

.card {
  display: flex;
  flex-direction: column;
}

.des {
  flex-grow: 1;
  justify-content: space-between;
  display: flex;
  flex-direction: column;
}

body {
  background: cadetblue;
}  
 <header>
  <div class="header">
    <nav class="navigation">
      <a href="#" class="navbar-logo">Sweeties | Popular Destinations </a>
      <div class="navbar-right">
        <a href="Home.html">Home</a>
        <a href="Discover.html">Discover</a>
        <a href="#">About Us</a>
        <a href="#">Contact</a>
        <a href="#">About Developer</a>
      </div>
    </nav>
  </div>
</header>
<div class="background-wrap">
  <video
    id="video-bg-elem"
    preload="auto"
    autoplay="true"
    loop="loop"
    muted="muted"
  >
    <source src="https://youtu.be/ujKVJcwbpRo" type="video/mp4" />
  </video>
</div>

<div class="main">
  <div class="card">
    <div class="image">
      <img
        src="https://upload.wikimedia.org/wikipedia/commons/thumb/c/c9/RakiRaki_ramens_-_1.jpg/800px-RakiRaki_ramens_-_1.jpg"
      />
    </div>
    <div class="title">
      <h1>
        Rakiraki
      </h1>
    </div>
    <div class="des">
      <h2>Dive Wananavu</h2>
      <button
        onclick="document.location='https://www.tripadvisor.com/Attraction_Review-g297568-d3850463-Reviews-Dive_Wananavu-Rakiraki_Viti_Levu.html'"
      >
        Read More...
      </button>
    </div>
  </div>

  <div class="card">
    <div class="image">
      <img
        src="https://upload.wikimedia.org/wikipedia/commons/thumb/c/c9/RakiRaki_ramens_-_1.jpg/800px-RakiRaki_ramens_-_1.jpg"
      />
    </div>
    <div class="title">
      <h1>
        Lautoka
      </h1>
    </div>
    <div class="des">
      <h2>Koroyanitu National Heritage Park</h2>
      <button onclick="document.location='default.asp'">
        Read More...
      </button>
    </div>
  </div>

  <div class="card">
    <div class="image">
      <img
        src="https://upload.wikimedia.org/wikipedia/commons/thumb/c/c9/RakiRaki_ramens_-_1.jpg/800px-RakiRaki_ramens_-_1.jpg"
      />
    </div>
    <div class="title">
      <h1>
        Nadi
      </h1>
    </div>
    <div class="des">
      <h2>Denarau Island</h2>
      <button onclick="document.location='default.asp'">
        Read More...
      </button>
    </div>
  </div>

  <div class="card">
    <div class="image">
      <img
        src="https://upload.wikimedia.org/wikipedia/commons/thumb/c/c9/RakiRaki_ramens_-_1.jpg/800px-RakiRaki_ramens_-_1.jpg"
      />
    </div>
    <div class="title">
      <h1>
        Sigatoka
      </h1>
    </div>
    <div class="des">
      <h2>Sand Dunes</h2>
      <button onclick="document.location='default.asp'">
        Read More...
      </button>
    </div>
  </div>

  <div class="card">
    <div class="image">
      <img
        src="https://upload.wikimedia.org/wikipedia/commons/thumb/c/c9/RakiRaki_ramens_-_1.jpg/800px-RakiRaki_ramens_-_1.jpg"
      />
    </div>
    <div class="title">
      <h1>
        Pacific Harbour
      </h1>
    </div>
    <div class="des">
      <h2>Arts Village</h2>
      <button onclick="document.location='default.asp'">
        Read More...
      </button>
    </div>
  </div>

  <div class="card">
    <div class="image">
      <img
        src="https://upload.wikimedia.org/wikipedia/commons/thumb/c/c9/RakiRaki_ramens_-_1.jpg/800px-RakiRaki_ramens_-_1.jpg"
      />
    </div>
    <div class="title">
      <h1>
        Suva
      </h1>
    </div>
    <div class="des">
      <h2>Museum</h2>
      <button onclick="document.location='default.asp'">
        Read More...
      </button>
    </div>
  </div>

  <div class="card">
    <div class="image">
      <img
        src="https://upload.wikimedia.org/wikipedia/commons/thumb/c/c9/RakiRaki_ramens_-_1.jpg/800px-RakiRaki_ramens_-_1.jpg"
      />
    </div>
    <div class="title">
      <h1>
        Labasa
      </h1>
    </div>
    <div class="des">
      <h2>KokoMana Vuadomo Waterfall</h2>
      <button onclick="document.location='default.asp'">
        Read More...
      </button>
    </div>
  </div>

  <div class="card">
    <div class="image">
      <img
        src="https://upload.wikimedia.org/wikipedia/commons/thumb/c/c9/RakiRaki_ramens_-_1.jpg/800px-RakiRaki_ramens_-_1.jpg"
      />
    </div>
    <div class="title">
      <h1>
        Savusavu
      </h1>
    </div>
    <div class="des">
      <h2>KokoMana Coco Farm</h2>
      <button onclick="document.location='default.asp'">
        Read More...
      </button>
    </div>
  </div>
</div>  

Комментарии:

1. Спасибо, что код сработал отлично, и для удаления полосы прокрутки я использовал это: html { overflow-y: hidden; }