
완성된 화면.

        <div class="travel__info">
            <div class="travel__title">이 섹션 제목은 뭐라고 하지 대체</div>
            <div class="travel__content__box">
                <div class="travel__content1">
                    <img src="#">
                    <div class="travel__side__box">
                        <div class="travel__text1">전주 수목원</div>
                        <div class="travel__text2">한번쯤 가 봐야할 인생 단풍 여행지</div>
                    </div>
                </div>
                <div class="travel__content2">
                    <img src="#">
                    <div class="travel__side__box">
                        <div class="travel__text1">전주 수목원</div>
                        <div class="travel__text2">한번쯤 가 봐야할 인생 단풍 여행지</div>
                    </div>
                </div>
                <div class="travel__content3">
                    <img src="#">
                    <div class="travel__side__box">
                        <div class="travel__text1">전주 수목원</div>
                        <div class="travel__text2">한번쯤 가 봐야할 인생 단풍 여행지</div>
                    </div>
                </div>
            </div>레이아웃은 예쁘게 만들어 놓았으나 사진만 넣으면 예상한 칸을 뛰어넘어 이미지 크기대로 마구 늘어나는 문제가 생겼다.
<div class="box1">
</div>
<div class="box__container">
		<div class="box2"></div>
		<div class="box3"></div>
</div>이렇게 구성하여 box1 과 box__container 를 그리드 하고
박스 컨테이너 내부에서 따로 정렬하려 하였으나 알고보니 grid 의 엄청난 기능이 있었다.

그리드 만으로도 이러한 레이아웃 구성을 할 수 있기 때문에
구역 분리를 위해 굳이 div 로 감쌀 필요가 없었다.
   .travel__content__box {
       display: grid;
       grid-template-columns: 1fr 1fr 1fr 1fr;
       gap: 10px;
   }
   .travel__content1 {
       height: 610px;
       grid-column: 1 /1 span;
       grid-row: 1 / 2 span;
   }
   .travel__content2 {
       height: 300px;
       grid-column: 2 /3 span;
   }
   .travel__content3 {
       height: 300px;
       grid-column: 2 /3 span;
   }제일 바깥의 컬럼이 4칸이라고 간주하고
content 1은 가로로 1/1, 세로로 1/2 크기를 차지한다.
content2,3 은 2번째부터 3칸을 차지하도록 설정하는 것.
grid-column ,grid-row 최고다.확인을 위해 임의로 템플릿을 구성해 보았다.
  <style>
        .img-box {
            height: 600px;
            display: grid;
            grid-template-columns: 1fr 1fr 1fr;
            border: 1px solid black;
        }
        img {
            height: 100%;
            width: 100%;
        }
        .box1 {
            border: 1px solid red;
            grid-column: 1 /1 span;
            grid-row: 1 / 2 span;
        }
        .box2 {
            border: 1px solid red;
            grid-column: 2 /2 span;
        }
        .box3 {
            border: 1px solid red;
            grid-column: 2 /2 span;
        }
    </style>
</head>
<body>
    <div class="img-box">
        <div class="box1"><img src="#"></div>
        <div class="box2"><img src="#"></div>
        <div class="box3"><img src="#"></div>
    </div>
</body>
좋은 느낌. 이미지만 제대로 들어가면 성공이다.

빨간 화살표 즈음에 
img-box 의 선이 있다 …비율은 잘 지키고 있으나 이미지를 넣으니 마음대로 늘어나는 문제… 😥
결국엔 이미지를 감싸고 있는 div 에 높이를 수동으로 할당할 수 밖에 없었다.
해결은 했지만
 
height를 할당하고 내부 요소는 100% 로 맞춰지도록 하였는데 해당 크기를 벗어나는지는
모르겠다. 진정한 해결 방법이 아닌것 같아 찝찝하지만 어쨌든 오늘도 해내다. 👍
Share article