Как вставить изображения в CSSGrid? - PullRequest
0 голосов
/ 01 апреля 2020

Я пытаюсь вставить эти 8 изображений в CSSGrid. Я сделал так, чтобы сетка имела 4 столбца и 2 строки. Я установил высоту и ширину изображения на 100%, полагая, что это займет место одного столбца в каждом ряду. Вместо этого изображения получаются намного больше, чем предполагалось. Я использую вложенную сетку, которую, я думаю, я не реализую правильно. Например, я установлю ширину и высоту изображений на 300 пикселей, и в одной строке будет более 4 изображений. Я думаю, именно поэтому изображения не занимают полный размер столбца, но я не уверен. Когда я проверяю элемент, я не вижу CSSGrid. Любая помощь?

<!DOCTYPE html>
<html>
<head>
  <title>Layout Master</title>
  <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>

    <div class="container">
      <div class="zone green">
            <span>About</span>
            <span>Products</span>
            <span>Our Team</span>
            <span id="Contact">Contact</span>
      </div>
      <div class="zone red">Cover</div>
      <div class="zone blue">
        <img src="data_storage_2_2.png" alt="data storage">
        <img src="desktop_analytics_2.png" alt="desktop analytics">
        <img src="files_2.png" alt="files">
        <img src="monitor_coding_2.png" alt="monitor coding">
        <img src="monitor_settings_2.png" alt="monitor settings">
        <img src= "server_2_2.png" alt="server">
        <img src="server_3.png" alt="server">
        <img src="server_safe_2.png" alt=server safe>
      </div>
      <div class="zone yellow">Made By Cristobal Manrique</div>
    </div>
</body>
</html>
.container {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr 4fr 8fr 1fr;
}

.green {
  display: flex;
  align-self: center;
}

.green span{
    margin-left: 20px;
}

#Contact {
  margin-left: auto; 
}

.zone blue{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 1fr 1fr;

}
.zone {
    padding:30px 50px; 
    cursor:pointer;
    color:#FFF;
    font-size:2em;
    border-radius:4px;
    border:1px solid #bbb;
    transition: all 0.3s linear;
}

.zone:hover {
    -webkit-box-shadow:rgba(0,0,0,0.8) 0px 5px 15px, inset rgba(0,0,0,0.15) 0px -10px 20px;
    -moz-box-shadow:rgba(0,0,0,0.8) 0px 5px 15px, inset rgba(0,0,0,0.15) 0px -10px 20px;
    -o-box-shadow:rgba(0,0,0,0.8) 0px 5px 15px, inset rgba(0,0,0,0.15) 0px -10px 20px;
    box-shadow:rgba(0,0,0,0.8) 0px 5px 15px, inset rgba(0,0,0,0.15) 0px -10px 20px;
}

/*https://paulund.co.uk/how-to-create-shiny-css-buttons*/
/***********************************************************************
 *  Green Background
 **********************************************************************/
.green{

    background: #56B870; /* Old browsers */
    background: -moz-linear-gradient(top, #56B870 0%, #a5c956 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#56B870), color-stop(100%,#a5c956)); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top, #56B870 0%,#a5c956 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top, #56B870 0%,#a5c956 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(top, #56B870 0%,#a5c956 100%); /* IE10+ */
    background: linear-gradient(top, #56B870 0%,#a5c956 100%); /* W3C */
}

/***********************************************************************
 *  Red Background
 **********************************************************************/
.red{

    background: #C655BE; /* Old browsers */
    background: -moz-linear-gradient(top, #C655BE 0%, #cf0404 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#C655BE), color-stop(100%,#cf0404)); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top, #C655BE 0%,#cf0404 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top, #C655BE 0%,#cf0404 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(top, #C655BE 0%,#cf0404 100%); /* IE10+ */
    background: linear-gradient(top, #C655BE 0%,#cf0404 100%); /* W3C */
}

/***********************************************************************
 *  Yellow Background
 **********************************************************************/
.yellow{
    display: flex;
    justify-content: center;
    background: #F3AAAA; /* Old browsers */
    background: -moz-linear-gradient(top, #F3AAAA 0%, #febf04 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#F3AAAA), color-stop(100%,#febf04)); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top, #F3AAAA 0%,#febf04 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top, #F3AAAA 0%,#febf04 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(top, #F3AAAA 0%,#febf04 100%); /* IE10+ */
    background: linear-gradient(top, #F3AAAA 0%,#febf04 100%); /* W3C */
}

/***********************************************************************
 *  Blue Background
 **********************************************************************/
.blue{
    background: #7abcff; /* Old browsers */
    background: -moz-linear-gradient(top, #7abcff 0%, #60abf8 44%, #4096ee 100%); /* FF3.6+ */
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#7abcff), color-stop(44%,#60abf8), color-stop(100%,#4096ee)); /* Chrome,Safari4+ */
    background: -webkit-linear-gradient(top, #7abcff 0%,#60abf8 44%,#4096ee 100%); /* Chrome10+,Safari5.1+ */
    background: -o-linear-gradient(top, #7abcff 0%,#60abf8 44%,#4096ee 100%); /* Opera 11.10+ */
    background: -ms-linear-gradient(top, #7abcff 0%,#60abf8 44%,#4096ee 100%); /* IE10+ */
    background: linear-gradient(top, #7abcff 0%,#60abf8 44%,#4096ee 100%); /* W3C */
}

img{
    background-color: black;
    width: 100%;
    height: 100%;
}

Ответы [ 2 ]

1 голос
/ 01 апреля 2020

ошибка опечатки .zone blue до .zone.blue

.zone.blue{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 1fr 1fr;

}
0 голосов
/ 01 апреля 2020

Для тега изображения используйте тег DIV и добавьте свойство фона

background-image: url ('../ images / ab c .jpg');

Тег изображения трудно выровнять по мере необходимости. div - лучшее решение.

Если вы хотите более детально использовать сеточную систему, используйте flex, она более эффективна и популярна. Refm: https://css-tricks.com/snippets/css/a-guide-to-flexbox/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...