728x90

 

 

윗 쪽은 테이블로 해보고

내용 부분은 div태그로 내용을 받게 해보았다

화면 가운데 오도록 div태그 사용할 때 margin: 0 auto;를 참 유용하게 잘 배운 것 같다

이제 좀 css가 좀 감이 오는 느낌이랄까? 힘내자

 

HTML

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

<link rel="stylesheet" href="noticeDetail1.css" type="text/css">

</head>
<body>

    <div class="title">
        <h2>공지사항</h2>   
        <p>TRENT EATER의 소식들과 유용한 정보들을 한곳에서 확인하세요.</p>
    </div>    

    <table class="tableWhole">
            <thead>
                <tr>
                    <th>제목</th>
                        <td style="width: 1050px;">${ b.boardTitle } [가격인상공지] [송월타월] 카운테스마라 클래스 1장 외 4건 (2022 6. 27 ~)</td>
                </tr>
                <tr>
                    <th>작성자</th>
                    <td>${b.nickName}</td>
                </tr>
                <tr>
                    <th>작성일</th>
                    <td>${b.boardCreateDate}</td>
                    <th>조회수</th>
                    <td>${b.boardCount}</td>
                </tr>
            </thead>
    </table>
    

    <div class="content">
        <p>
        ${b.boardContent}
        
        </p>
    </div>
    <div class="listButton">
        <button type="submit">목록</button>
    </div>

    

</body>
</html>

 

CSS

@import url(http://fonts.googleapis.com/earlyaccess/notosanskr.css); 



body{
    font-family: "Noto Sans";
}

.footerMain {
    border-top: 1px solid lightgray;
}

.footerTop{
    width: 100%;
    height: 100%;
    width: 1200px;
    display: flex;
    align-items: center; 
    margin: 0 auto;  
    justify-content: space-around;
}

/*************************footerLeft****************************/

.footerLeft {
    display: flex;
    flex-direction: column;
    width:600px;
}

.footerLeft > h2{  /* 고객센터 글씨 */
    font-size: 20px;
    padding:2%;
    margin-top: 2%;
}
.footerLeft > div > div span{
    display: flex;
    line-height: normal;
    padding-top: 8px;
    width:150px; /************/
}    

.footerLeft > div{
    display: flex;
    /* flex-wrap: wrap;  */ /* flex-wrap: wrap : 길면 줄바꿈 */
    text-align: start;
} 
.footerLeft > div > div > button{
    background: white;
    width: 145px;
    height:50px;
    border : 1px solid lightgray;
    font-size: 14px;
    font-weight: 600;
    line-height: normal;
    align-items: center;
} 

.callCenter div:first-child{ /* 고객행복센터 */
    font-size: 28px;
    font-weight: 800; 
    padding : 2%;
    width: 145px;
}
.footerLeftP{
    line-height: normal;
    padding-top:3%;
    padding-left:2%;
    width: 400px;
}
.kakaotalkQuestion div:first-child{
    padding : 2%;
    width: 145px;
}
.personalQuestion div:first-child{
    padding : 2%;
    width: 145px;
}
.bigOrderQuestion div:first-child{
    padding : 2%;
    width: 145px;
}


/* tbody td:nth-last-child(1) */
/* .footerLeft{ 직접에는 안먹히고 상위 태그에서 적용됨
    display: inline-block;
    width: 600px;
}
.footerRighter{
    display: inline-block;
    width: 600px;
} */


/*************************footerRight****************************/
.footerRight{
    width:570px;
}

.footerRight > ul{
    display: flex;
    width:100%;
}

.footerRight li{
    list-style:none;
    display: inline-block;
    width:80px;
}

.footerRightMiddle{
    color:rgb(165, 164, 164);
    font-size: 12px;
    line-height: normal; /* 1px이나 1%로하면 세로줄이 좁게 압축되고 normal하니 적절히 상하 간격이 생김*/
}
.footerRightMiddle > a{
    text-decoration:none;
    color:#FE8F8F;
}

.footerRightSNS{
    padding: 5% 0;
}
.footerRightSNS img{
    padding:1%;
    width:30px;
}



/*************************footerMiddle****************************/
.footerMiddle{
    display: flex;
    justify-content: space-between;
    
    padding: 3% 5%;
    width:100%; 
    height: 100%;
        max-width: 1100px;
        max-height: 50px;
    margin: 0 auto; /* 센터정렬 방법 : margin 0 auto* /
    /* 부모태그의 넓이를 모르는데 자식태그가 어떤걸 기준을 줄지 모르기 때문에
        부모태그의 width100%를 설정해줘야함

        이미지 크기 조절 방법1
        미디어쿼리
        미디어쿼리로 웹사이트 크기마다 이미지크기를 고정크기로 줘서 움직이게 하면됨

        이미지 크기 조절 방법2
        이미지 하나마다 div태그로 컨테이너를 줘서 width100%로 이미지를 div태그 컨테이너 안에
        꽉채우고 이미지를 채우는 방식이 반응형이나 모바일웹에도 유리함


    */
}
.footerMiddle > div{
    display: flex;
    /* flex-basis: 33.3%; */
    font-size: 10px;
    font-weight: 500;
    color: #999999;
    /* width:33%; */
    /* height:33%; */
    align-items: center;
    line-height: normal;

}
.footerMiddle > div img{
    width:50px;
}

.footerMiddle div p{
    margin: 8px;
}

.footerMiddle div.authentication3 > p{
    display: inline-block;
    width:200px;
    
}


.footerBottom{
    background-color: #f7f7f7;
    color: #999999;
    letter-spacing: -.2px;
    font-weight: 400;
    font-size: 10px;
    
    text-align: center;
    line-height: normal;
    letter-spacing: -1px;

    padding: 2%;
}
728x90
반응형
728x90

 

마켓컬리 footer 본따서 만들기

 

이미지 크기가 달라서 따로 적용하는거랑

flex로 부분 나눠서 하나씩 미세조정하는데

어떨 때 되고 안되는 이유를 잘몰라서 많이 애먹은 듯

아이콘 따올 때는 서버 링크에서 직접 따오면 저작권 문제가 있으니 이미지 다운 받아서 해야한다고 한다

 

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>footer</title>

    <!-- CSS보다 상위에 둬야함 -->
<link rel="stylesheet" type="text/css" href="reset.css">
<link rel="stylesheet" type="text/css" href="footer1.css">
<!-- <link rel="stylesheet" type="text/css" href="notice2css.css"> -->




</head>
<body>
    
    <br>

<div class="footerMain">
    <!-- footerTop  -->
    <div class="footerTop">
        <div class="footerLeft">
            <h2>고객행복센터</h2>
            <div class="callCenter">
                <div>
                    <span>1644-1107</span></div>
                <div>
                    <p class="footerLeftP">365고객센터</p>
                    <p class="footerLeftP">오전7시-오후7시</p>
                </div>
            </div>
            <div class="kakaotalkQuestion">
                <div>
                    <button>카카오톡 문의</button>
                </div>
                <div>
                    <p class="footerLeftP">365고객센터</p>
                    <p class="footerLeftP">오전7시-오후7시</p>
                </div>    
            </div>
            <div class="personalQuestion">
                <div>
                    <button> 1:1 문의</button>
                </div>
                <div>
                    <p class="footerLeftP">24시간 접수 가능</p>
                    <p class="footerLeftP">고객센터 운영시간에 순차적으로 답변해드립니다.</p>
                </div>   
            </div>
            <div class="bigOrderQuestion">
                <div>
                    <button>대량주문 문의</button></div>
                <div>
                    <p class="footerLeftP"> </p>
                    <p class="footerLeftP">비회원의 경우 메일로 문의바랍니다</p>
                </div>    
            </div>
          

            
            
        </div>
        <div class="footerRight">
            <div class="footerRightTop"> 
                <ul>
                    <li style="width: 140px;">TREND_EATER소개</li>
                    <li>인재채용</li>
                    <li>이용약관</li>
                    <li style="width: 140px;">개인정보처리방침</li>
                    <li>이용안내</li>
                </ul> <br>
            </div>
            <div class="footerRightMiddle">   
                <span>법인명 (상호) : 주식회사 TREND_EATER <span class="bar">I</span> 사업자등록번호 : 261-81-23567</span> <br>
                <span>통신판매업 : 제 2018-서울강남-01646 호 <span class="bar">I</span> 개인정보보호책임자 : 이용준</span><br>
                <span>주소 : 서울특별시 강남구 테헤란로 133, 18층(역삼동) <span class="bar">I</span> 대표이사 : 박춘희</span><br>
                시식문의 : <a href="https://docs.google.com/forms/d/e/1FAIpQLScLB7YkGJwNRzpGpp0gbR1i4C1_uvTEFj43SFfJ_XEadTn3gQ/viewform?usp=sf_link" target="_blank" class="link">시식 문의하기</a> <span class="bar">I</span> 마케팅제휴 : <a href="mailto:business@TRENDEATERcorp.com" class="link">business@TRENDEATERcorp.com</a><br>
                팩스: 070 - 7500 - 6098 <span class="bar">I</span> 이메일 : <a href="mailto:help@TRENDEATERcorp.com" class="link">help@TRENDEATERcorp.com</a><br>
                대량주문 문의 : <a href="mailto:TRENDEATERgift@TRENDEATERcorp.com" class="link">TRENDEATERgift@TRENDEATERcorp.com</a><br>
            </div>      
            <div class="footerRightSNS">
                <img src="img/icons/ico_sns1_instagram.webp">
                <img src="img/icons/ico_sns2_facebook.webp">
                <img src="img/icons/ico_sns3_naverBlog.webp">
                <img src="img/icons/ico_sns4_naver.webp">
                <img src="img/icons/ico_sns5_youtube.webp">
            </div>
        </div>
    </div>


    <!-- footerMiddle -->
    <div class="footerMiddle">
        <div class="authentication1">
            <div>
                <img src="img/icons/icons_imsm.webp" alt="isms 로고" >
            </div>  
            <p>
                [인증범위] 마켓컬리 쇼핑몰 서비스 개발·운영<br>
                (심사받지 않은 물리적 인프라 제외)<br>
                [유효기간] 2022.01.19 ~ 2025.01.18
            </p>
        </div>
        <div class="authentication2">
            <div>
                <img src="img/icons/icons_eprivacy.webp" alt="eprivacy plus 로고" class="logo">
            </div>
            <p>
            개인정보보호 우수 웹사이트 ·<br>
            개인정보처리시스템 인증 (ePRIVACY PLUS)
            </p>  
        </div>
        <div class="authentication3">
            <div class="iconPayments">
                <img src="img/icons/icons_payments.webp" alt="payments 로고" style="width:fit-content">
            </div>
            <p>
            고객님의 안전거래를 위해 현금 등으로 결제 시 저희 쇼핑몰에서 가입한
            토스 페이먼츠 구매안전(에스크로) 서비스를 이용하실 수 있습니다.
            </p>
        </div>

    </div>
    <!-- footerBottom -->
    <div class="footerBottom">
        <p>TREND EATER에서 판매되는 상품 중에는 TREND EATER에 시식 요청받은 제품의 문제는 해당 제조에게 있습니다.</p>
        <p>시식 상품의 경우 TREND EATER는 통신판매중개자로서 통신판매의 당사자가 아닙니다. TREND EATER는 해당 상품의 주문, 품질, 교환/환불 등 의무와 책임을 부담하지 않습니다.</p><br>
        <em>©TREND EATER CORP. ALL RIGHTS RESERVED</em>
    </div>   
</div>



</body>
</html>
728x90
반응형
728x90

 

순수 html css로 공지사항 게시판 완성

이제 컨트롤러 및 db와 데이터 연결하면서

뷰에 주고 받는 속성과 컨트롤러 코드 스타트

 

HTML

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title> 공지사항 </title>

<link rel="stylesheet" type="text/css" href="notice2css.css">
<script src="https://kit.fontawesome.com/76295929c4.js" crossorigin="anonymous"></script>



</head>
<body>
    <div class="container">

<!-- 헤더푸터는 클래스명 신경써야함
다른 페이지 임포트 되는거에는 css 선택자 적용안됨
메인 : 페이지가 달라지는거니 상관없다 -->

        <div class="main">
            <div class="infoContainer">
                <div class="titleArea">
                    <h3 >공지사항</h3>
                    <span>
                        TREND_EATER의 새로운 소식과 유용한 정보를 한곳에서 확인하세요
                    </span>
                </div>
                <!-- 테이블로 게시판 만들기!! -->
                <div>
                    <table>
                        <thead>
                           <tr>
                                <th>번호</th>
                                <th>제목</th>
                                <th>작성자</th>
                                <th>작성일</th>
                                <th>조회</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr>
                                <td width="50" nowrap="" align="center">1441 </td>        
                                <td style="padding-left:10px; text-align:left; color:#999">
                                    <a href=""><b>[마켓컬리] KURLY BIRTH WEEK 럭키기프트` 이벤트 당첨 안내</b></a><b></b></td>
                                <td width="100" nowrap="" align="center"> MarketKurly </td>
                                <td width="100" nowrap="" align="center" class="eng2">2022-05-23</td>
                                <td width="30" nowrap="" align="center" class="eng2">7629</td>
                            </tr>
                            <tr>
                                <td width="50" nowrap="" align="center">1443 </td>
                                    <td style="padding-left:10px; text-align:left; color:#999">
                                        <a href=""><b>마켓컬리 배송 안내</b></a><b></b></td>
                                    <td width="100" nowrap="" align="center">MarketKurly </td>
                                    <td width="100" nowrap="" align="center" class="eng2">2016-01-08</td>
                                    <td width="30" nowrap="" align="center" class="eng2">3172001</td>
                            </tr>
                            

                            <tr>
                                <td width="50" nowrap="" align="center">1442 </td>
                                <td style="padding-left:10px; text-align:left; color:#999">
                                    <a href=""><b>[마켓컬리] 포장재 회수 서비스 안내</b></a><b></b></td>
                                <td width="100" nowrap="" align="center">MarketKurly </td>
                                <td width="100" nowrap="" align="center" class="eng2">2021-06-18</td>
                                <td width="30" nowrap="" align="center" class="eng2">49299</td>
                            </tr>
                            <tr>
                                <td width="50" nowrap="" align="center">1441 </td>
                                <td style="padding-left:10px; text-align:left; color:#999">
                                    <a href="">[가격인상공지] [옥소] 굿그립 3종 핸드 스파이럴라이저 외 38건 (2022 6. 16 ~)</a></td>
                                <td width="100" nowrap="" align="center">MarketKurly </td>
                                <td width="100" nowrap="" align="center" class="eng2">2022-06-10</td>
                                <td width="30" nowrap="" align="center" class="eng2">46</td>
                            </tr>
                            <tr>
                                <td width="50" nowrap="" align="center">1440 </td>
                                <td style="padding-left:10px; text-align:left; color:#999">
                                    <a href="">[가격인상공지] [연세우유 x 마켓컬리] 전용목장우유 900mL (2022 6. 18 ~)</a></td>
                                <td width="100" nowrap="" align="center">MarketKurly </td>
                                <td width="100" nowrap="" align="center" class="eng2">2022-06-10</td>
                                <td width="30" nowrap="" align="center" class="eng2">53</td>
                            </tr>
                            <tr>
                                <td width="50" nowrap="" align="center">  1439 </td>
                                <td style="padding-left:10px; text-align:left; color:#999">
                                  <a href="">[가격인상공지] [제스파] 듀얼맥스태핑 발안마기 ZP1063 (2022 6. 15 ~)</a></td>
                                <td width="100" nowrap="" align="center">MarketKurly </td>
                                <td width="100" nowrap="" align="center" class="eng2">2022-06-10</td>
                                <td width="30" nowrap="" align="center" class="eng2">33</td>
                            </tr>
                            <tr>
                                <td width="50" nowrap="" align="center">  1439 </td>
                                <td style="padding-left:10px; text-align:left; color:#999">
                                  <a href="">[가격인상공지] [제스파] 듀얼맥스태핑 발안마기 ZP1063 (2022 6. 15 ~)</a></td>
                                <td width="100" nowrap="" align="center">MarketKurly </td>
                                <td width="100" nowrap="" align="center" class="eng2">2022-06-10</td>
                                <td width="30" nowrap="" align="center" class="eng2">33</td>
                            </tr>
                            <tr>
                                <td width="50" nowrap="" align="center">  1439 </td>
                                <td style="padding-left:10px; text-align:left; color:#999">
                                  <a href="">[가격인상공지] [제스파] 듀얼맥스태핑 발안마기 ZP1063 (2022 6. 15 ~)</a></td>
                                <td width="100" nowrap="" align="center">MarketKurly </td>
                                <td width="100" nowrap="" align="center" class="eng2">2022-06-10</td>
                                <td width="30" nowrap="" align="center" class="eng2">33</td>
                            </tr>
                            <tr>
                                <td width="50" nowrap="" align="center">  1439 </td>
                                <td style="padding-left:10px; text-align:left; color:#999">
                                  <a href="">[가격인상공지] [제스파] 듀얼맥스태핑 발안마기 ZP1063 (2022 6. 15 ~)</a></td>
                                <td width="100" nowrap="" align="center">MarketKurly </td>
                                <td width="100" nowrap="" align="center" class="eng2">2022-06-10</td>
                                <td width="30" nowrap="" align="center" class="eng2">33</td>
                            </tr>
                            <tr>
                                <td width="50" nowrap="" align="center">  1439 </td>
                                <td style="padding-left:10px; text-align:left; color:#999">
                                  <a href="">[가격인상공지] [제스파] 듀얼맥스태핑 발안마기 ZP1063 (2022 6. 15 ~)</a></td>
                                <td width="100" nowrap="" align="center">MarketKurly </td>
                                <td width="100" nowrap="" align="center" class="eng2">2022-06-10</td>
                                <td width="30" nowrap="" align="center" class="eng2">33</td>
                            </tr>

                        </tbody>
                            


                    </table>
                </div>
                

                <div class="boardSearchBox">
                    <div>
                        <span>검색어</span>
                        <ul>
                            <li><label><input type="checkbox">이름</label></li>
                            <li><input type="checkbox">제목</li>
                            <li><input type="checkbox">내용</li>
                        </ul>
                    </div>
                    <div class="searchBar">
                        <input type="search">
                        <input type="image" name="submit" src="search.png">
                    </div>
                </div>
            </div>
        </div>
        
        

       

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

 

CSS

@import "reset.css";    
@import url(http://fonts.googleapis.com/earlyaccess/notosanskr.css); 


html, body {
    box-sizing: border-box;
}
.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    
}

.main{
    width: 100%;
    display: flex;
    justify-content: center;
    font-family:'Noto Sans KR', sans-serif;
    
}

.main .infoContainer {
    flex-basis: 80%;
    height: 800px;
    background-color: white;
    
}
.infoContainer  table{
    margin: 0 auto;
} 

.titleArea{
    display: flex;
    /* justify-content: center; */
    gap: 3%; 
    align-items: center;
    padding: 2% 11%;
    width:820px;
    margin: 0 auto;
}
.titleArea > div{
    margin: 0 auto;
}
.titleArea > h3{
    font-size: 22px; font-weight: 500;
}
.titleArea > span{
    font-size: 13px; color:rgb(135, 133, 133);
}

.boardSearchBox {
    /* justify-content의 letf,right,center 위치 외에 세부조정하고 싶으면,
     justify-content: space-between으로 공백을 줘서 조정하면 됨*/
    display: flex;
    justify-content: space-between; /* space-between의 디폴트 범위지정값은 나머지 텍스트나 범위를 제외한 전부를 먼저 준다 */
    align-items: center;
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #FCD2D1;
    width:770px;
    margin: 0 auto;
}

.boardSearchBox > div {
    display: flex;
    gap: 10px;
}
.boardSearchBox span {
    font-size: x-small;
    padding-top: 5px;
    align-content: center;
    vertical-align: middle;
}

.boardSearchBox > div > ul {
    display: flex;
    /* justify-content: space-between;  */
    list-style: none;
    gap: 10px;
    font-size: smaller;
}
.boardSearchBox > div.searchBar{
    /* boardSearchBox 아래있는 div태그 중에 이름이 searchBar인 태그에만 적용 */
    display: flex;
    gap : 0px;

    
}
/* 
.boardSearchBox > div .searchBar
boardSearchBox 아래있는 div태그 자식 요소 중에 seachBar태그에만 적용  */

.searchBar > input{
    display: flex;
    border: 1px solid lightgray;
}

thead tr{
    width: 100%;
    height: 2rem;
        min-height: 20px;
        max-height: 50px;
    border-top: 2px solid rgb(254, 143, 143)  ;
    border-bottom: 2px solid #FE8F8F  ;
}
thead th{
    padding: 2% 1%;
    vertical-align: middle;
    text-align: center;
    font-size: small;
    font-weight: none;
}
tbody > tr{
    height: 2rem;
    /* border-top: 1px solid lightgray; */
    border-bottom: 1px solid lightgray;
    align-content: center;
    vertical-align: middle;
}
tbody > tr > td{
    height: 2rem;
    font-size: small;
    font-family: noto sans;
    align-content: center;
    vertical-align: middle;
    letter-spacing: 0px;
}
tbody td:nth-last-child(1){
    color: gray;
} 
tbody td:nth-last-child(2){
    color: gray;
} 
/* 뒤에서부터 4번째가 tr태그면 적용  // 태그 우선 */

 

728x90
반응형
728x90

마켓컬리 UI 본따와서 공지사항 만들기

테이블 및 하단 검색 쪽 센터정렬

글씨 색, 크기 및 위치조절

flex, padding

margin 0 auto로 센터정렬

인라인스타일 CSS 줄이고 외부스타일로

 

센터정렬 방법 : margin 0 auto
    부모태그의 넓이를 모르는데 자식태그가 어떤걸 기준을 줄지 모르기 때문에
        부모태그의 width100%를 설정해줘야함

        이미지 크기 조절 방법1
        미디어쿼리
        미디어쿼리로 웹사이트 크기마다 이미지크기를 고정크기로 줘서 움직이게 하면됨

        이미지 크기 조절 방법2
        이미지 하나마다 div태그로 컨테이너를 줘서 width100%로 이미지를 div태그 컨테이너 안에
        꽉채우고 이미지를 채우는 방식이 반응형이나 모바일웹에도 유리함

 

HTML

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <!-- font awesome : 아이콘  -->

<link rel="stylesheet" type="text/css" href="notice2css.css">
<script src="https://kit.fontawesome.com/76295929c4.js" crossorigin="anonymous"></script>



</head>
<body>
    <div class="container">

<!-- 헤더푸터는 클래스명 신경써야함
다른 페이지 임포트 되는거에는 css 선택자 적용안됨
메인 : 페이지가 달라지는거니 상관없다 -->

        <!-- <div class="header">
            <div class="userMenu">
                <ul>
                    <li><a href="#">회원가입</a></li>
                    <li><a href="#">로그인</a></li>
                    <li><a href="#">고객센터</a></li>
                </ul>                
            </div>
            // h1은 보통 로고를 넣을 때 사용 
            <h1><img src="" alt="logo"></h1>
            <div class="menuBox">
                <div></div>
                <ul>
                    <li></li>
                    <li></li>
                    <li></li>
                    <li></li>
                    <li></li>
                </ul>
            </div>
        </div> -->

        <div class="main">
            <div class="infoContainer">
                <div class="titleArea">
                    <h3 >공지사항</h3>
                    <span>
                        TREND_EATER의 새로운 소식과 유용한 정보를 한곳에서 확인하세요
                    </span>
                </div>
                <!-- 테이블로 게시판 만들기!! -->
                <div>
                    <table>
                        <thead>
                           <tr>
                                <th>번호</th>
                                <th>제목</th>
                                <th>작성자</th>
                                <th>작성일</th>
                                <th>조회</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr>
                                <td width="50" nowrap="" align="center">1441 </td>        
                                <td style="padding-left:10px; text-align:left; color:#999">
                                    <a href=""><b>[마켓컬리] KURLY BIRTH WEEK 럭키기프트` 이벤트 당첨 안내</b></a><b></b></td>
                                <td width="100" nowrap="" align="center"> MarketKurly </td>
                                <td width="100" nowrap="" align="center" class="eng2">2022-05-23</td>
                                <td width="30" nowrap="" align="center" class="eng2">7629</td>
                            </tr>
                            <tr>
                                <td width="50" nowrap="" align="center">1443 </td>
                                    <td style="padding-left:10px; text-align:left; color:#999">
                                        <a href=""><b>마켓컬리 배송 안내</b></a><b></b></td>
                                    <td width="100" nowrap="" align="center">MarketKurly </td>
                                    <td width="100" nowrap="" align="center" class="eng2">2016-01-08</td>
                                    <td width="30" nowrap="" align="center" class="eng2">3172001</td>
                            </tr>
                            

                            <tr>
                                <td width="50" nowrap="" align="center">1442 </td>
                                <td style="padding-left:10px; text-align:left; color:#999">
                                    <a href=""><b>[마켓컬리] 포장재 회수 서비스 안내</b></a><b></b></td>
                                <td width="100" nowrap="" align="center">MarketKurly </td>
                                <td width="100" nowrap="" align="center" class="eng2">2021-06-18</td>
                                <td width="30" nowrap="" align="center" class="eng2">49299</td>
                            </tr>
                            <tr>
                                <td width="50" nowrap="" align="center">1441 </td>
                                <td style="padding-left:10px; text-align:left; color:#999">
                                    <a href="">[가격인상공지] [옥소] 굿그립 3종 핸드 스파이럴라이저 외 38건 (2022 6. 16 ~)</a></td>
                                <td width="100" nowrap="" align="center">MarketKurly </td>
                                <td width="100" nowrap="" align="center" class="eng2">2022-06-10</td>
                                <td width="30" nowrap="" align="center" class="eng2">46</td>
                            </tr>
                            <tr>
                                <td width="50" nowrap="" align="center">1440 </td>
                                <td style="padding-left:10px; text-align:left; color:#999">
                                    <a href="">[가격인상공지] [연세우유 x 마켓컬리] 전용목장우유 900mL (2022 6. 18 ~)</a></td>
                                <td width="100" nowrap="" align="center">MarketKurly </td>
                                <td width="100" nowrap="" align="center" class="eng2">2022-06-10</td>
                                <td width="30" nowrap="" align="center" class="eng2">53</td>
                            </tr>
                            <tr>
                                <td width="50" nowrap="" align="center">  1439 </td>
                                <td style="padding-left:10px; text-align:left; color:#999">
                                  <a href="">[가격인상공지] [제스파] 듀얼맥스태핑 발안마기 ZP1063 (2022 6. 15 ~)</a></td>
                                <td width="100" nowrap="" align="center">MarketKurly </td>
                                <td width="100" nowrap="" align="center" class="eng2">2022-06-10</td>
                                <td width="30" nowrap="" align="center" class="eng2">33</td>
                            </tr>
                            <tr>
                                <td width="50" nowrap="" align="center">  1439 </td>
                                <td style="padding-left:10px; text-align:left; color:#999">
                                  <a href="">[가격인상공지] [제스파] 듀얼맥스태핑 발안마기 ZP1063 (2022 6. 15 ~)</a></td>
                                <td width="100" nowrap="" align="center">MarketKurly </td>
                                <td width="100" nowrap="" align="center" class="eng2">2022-06-10</td>
                                <td width="30" nowrap="" align="center" class="eng2">33</td>
                            </tr>
                            <tr>
                                <td width="50" nowrap="" align="center">  1439 </td>
                                <td style="padding-left:10px; text-align:left; color:#999">
                                  <a href="">[가격인상공지] [제스파] 듀얼맥스태핑 발안마기 ZP1063 (2022 6. 15 ~)</a></td>
                                <td width="100" nowrap="" align="center">MarketKurly </td>
                                <td width="100" nowrap="" align="center" class="eng2">2022-06-10</td>
                                <td width="30" nowrap="" align="center" class="eng2">33</td>
                            </tr>
                            <tr>
                                <td width="50" nowrap="" align="center">  1439 </td>
                                <td style="padding-left:10px; text-align:left; color:#999">
                                  <a href="">[가격인상공지] [제스파] 듀얼맥스태핑 발안마기 ZP1063 (2022 6. 15 ~)</a></td>
                                <td width="100" nowrap="" align="center">MarketKurly </td>
                                <td width="100" nowrap="" align="center" class="eng2">2022-06-10</td>
                                <td width="30" nowrap="" align="center" class="eng2">33</td>
                            </tr>
                            <tr>
                                <td width="50" nowrap="" align="center">  1439 </td>
                                <td style="padding-left:10px; text-align:left; color:#999">
                                  <a href="">[가격인상공지] [제스파] 듀얼맥스태핑 발안마기 ZP1063 (2022 6. 15 ~)</a></td>
                                <td width="100" nowrap="" align="center">MarketKurly </td>
                                <td width="100" nowrap="" align="center" class="eng2">2022-06-10</td>
                                <td width="30" nowrap="" align="center" class="eng2">33</td>
                            </tr>

                        </tbody>
                            


                    </table>
                </div>
                

                <div class="boardSearchBox">
                    <div>
                        <span>검색어</span>
                        <ul>
                            <li><label><input type="checkbox">이름</label></li>
                            <li><input type="checkbox">제목</li>
                            <li><input type="checkbox">내용</li>
                        </ul>
                    </div>
                    <div class="searchBar">
                        <input type="search">
                        <input type="image" name="submit" src="search.png">
                    </div>
                </div>
            </div>
        </div>
        
        

       

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

 

CSS

html, body {
    box-sizing: border-box;
}
.container {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    
}

.main{
    width: 100%;
    display: flex;
    justify-content: center;
    font-family:'Noto Sans KR', sans-serif;
    
}

.main .infoContainer {
    flex-basis: 80%;
    height: 800px;
    background-color: white;
    
}
.infoContainer  table{
    margin: 0 auto;
} 

.titleArea{
    display: flex;
    /* justify-content: center; */
    gap: 3%; 
    align-items: center;
    padding: 2% 11%;
    width:820px;
    margin: 0 auto;
}
.titleArea > div{
    margin: 0 auto;
}
.titleArea > h3{
    font-size: 22px; font-weight: 500;
}
.titleArea > span{
    font-size: 13px; color:rgb(135, 133, 133);
}

.boardSearchBox {
    /* justify-content의 letf,right,center 위치 외에 세부조정하고 싶으면,
     justify-content: space-between으로 공백을 줘서 조정하면 됨*/
    display: flex;
    justify-content: space-between; /* space-between의 디폴트 범위지정값은 나머지 텍스트나 범위를 제외한 전부를 먼저 준다 */
    align-items: center;
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid #FCD2D1;
    width:770px;
    margin: 0 auto;
}

.boardSearchBox > div {
    display: flex;
    gap: 10px;
}
.boardSearchBox span {
    font-size: x-small;
    padding-top: 5px;
    align-content: center;
    vertical-align: middle;
}

.boardSearchBox > div > ul {
    display: flex;
    /* justify-content: space-between;  */
    list-style: none;
    gap: 10px;
    font-size: smaller;
}
.boardSearchBox > div.searchBar{
    /* boardSearchBox 아래있는 div태그 중에 이름이 searchBar인 태그에만 적용 */
    display: flex;
    gap : 0px;

    
}
/* 
.boardSearchBox > div .searchBar
boardSearchBox 아래있는 div태그 자식 요소 중에 seachBar태그에만 적용  */

.searchBar > input{
    display: flex;
    border: 1px solid lightgray;
}

thead tr{
    width: 100%;
    height: 2rem;
        min-height: 20px;
        max-height: 50px;
    border-top: 2px solid rgb(254, 143, 143)  ;
    border-bottom: 2px solid #FE8F8F  ;
}
thead th{
    padding: 2% 1%;
    vertical-align: middle;
    text-align: center;
    font-size: small;
    font-weight: none;
}
tbody > tr{
    height: 2rem;
    /* border-top: 1px solid lightgray; */
    border-bottom: 1px solid lightgray;
    align-content: center;
    vertical-align: middle;
}
tbody > tr > td{
    height: 2rem;
    font-size: small;
    font-family: noto sans;
    align-content: center;
    vertical-align: middle;
    letter-spacing: 0px;
}
tbody td:nth-last-child(1){
    color: gray;
} 
tbody td:nth-last-child(2){
    color: gray;
} 
/* 뒤에서부터 4번째가 tr태그면 적용  // 태그 우선 */

 

728x90
반응형
728x90

 

 

좌우 나뉜 구조에서

좌측에서도 번호랑 365고객센터 기준으로 좌우로 나뉘어져 있는 구조

 

callCenter의 하위의 span까지 먹여봤지만 안먹힘

.footerTop{
    /* width: 100%; */
    width: 1200px;
    display: flex;
    
}
.footerLeft {
    display: flex;
    flex-direction: column;
}
.footerLeft > div > div span{
    display: flex;
    flex-direction:  none;
}    
/* .callCenter > span{
    display: flex;
    flex-direction: row;
} */

 

상위 태그인 callCenter 자체에 주니까 위의 이미지데로 flex가 나뉨

.footerLeft > div{
    border: 1px solid black;
    display: flex;
    flex-wrap: wrap;
    text-align: start;
}

 

 

728x90
반응형
728x90

 

css 선택자(selector)를 이용하여 div태그를 포함한 여러 태그에

css를 적용시키는데

자손, 후손 등 복잡하게 선택자가 들어가다보면 중간에 원하는 속성(property)가 안먹혀서 애먹은 경험들이 많이 있을 것이다

그럴 때 이 :not() selector를 사용하여 적용이 안되게끔 하면 된다

부모 Element의 style 중 특정 Element의 style이 특정 부분에 적용되지 않도록 하는 기능

.codeTest
{
	paddingt: 2%;
	background-color:blue;
}


.codeTest :not(.codeTableTest)
{
	padding:2%;
	background-color:blue;
}

 

위의 코드는 :not()을 안써서 부모 상속 때문에 코드가 적용이 안되고

아래 코드는 :not()를 사용하여 부모 상속을 무효화 했기에 패딩과 백그라운드 코드가 작동하게 된다

 

좀 더 자세한 내용은 아래에

https://www.w3.org/wiki/CSS/Selectors/pseudo-classes/:not#Pseudo-class_:not

728x90
반응형
728x90

 

padding & margin 속성값

 

속성값의 적용 방향은 시계 바늘 12시 방향부터 오른쪽으로 도는 방향으로 순서대로이다.

즉, 12시 3시 6시 9시 순으로 상 우 하 좌 순이다

    
padding: 0 0 0 0 상 우 하 좌       속성값 4개

padding: 0 0 0 상 좌우 하           속성값 3개

padding: 0 0   상하 좌우            속성값 2개

padding: 0 상좌하우 4방향 적용   속성값 1개

 

* px로 고정값을 주는 것도 좋지만 반응형 웹사이트일 경우 %를 사용하면 유연해진다

padding 2%;

 

 


 

padding 적용

패딩이 없으니 글씨가 박스에 너무 딱 붙어있다

 

패딩 2% 적용

적당히 깔끔하게 떨어져 있어 보기가 좋다

 

 

 

728x90
반응형
728x90

 

부모 상속 때문에 아래처럼 사이 여백이 생겨서 원하는데로 flex 적용이 되질 않아

flex-end,start, baseline, space-around 등 이것저것 해보며 고생하던 중

부모 css와 똑같이 display: flex와 justify-content: space-between 주고

wrap을 풀고(flex-wrap: none) width를 조정하면서 원하는데로

날짜와 조회수를 나란히 약간의 간격을 주어서 배치에 성공!

 

.article .articleSubTitle {
    display: flex;
    justify-content: space-between;  /* 스페이스 비트윈 쓰면, flex-basis를 쓰고 남은 영역을 사이 여백으로 준다  */
    align-items: center;
    width: 100%;
    margin-bottom: 30px;
    padding: 2% 2%; /* 상하 좌우 : 좌우 각각 2%씩 주는 것*/
    /* padding: 0 0 0 0 상 우 하 좌 */
    /* padding: 0 0 0 상 좌우 하 */
    /* padding: 5px 하나면 사방향 */
    /* 패딩, 마진 둘 다 적용되는 것 */
    border: 1px solid #ccc;
    border-radius: 10px;
}
/* 패딩, 마진 2% 위에서 제외된 96%의 크기를 다시 100%로 환산되서 다시 65/35% 나누는 것 */
.article .articleSubTitle .articleMainTop {
    flex-basis: 60%;
}

.article .reviewDateTie {
    display: flex;
    justify-content: space-between;
    flex-wrap: none;
    width: 20%;
}

 

728x90
반응형
728x90

 

    overflow: hidden; ← 넘어간 내용을 감춘다. 
    text-overflow: ellipsis; 넘어간 내용을 ... 처리해준다

.cardBoxText{
    white-space: nowrap; 
    overflow: hidden;
    text-overflow: ellipsis;

}

 

<div class="cardBoxText">
    <div class="">
      <strong class="d-inline-block mb-lg-1 text-success reviewCategory">중식</strong>
      <h5 class="card-title cardTitle">중화요리 팔공</h5>
      <p class="card-text mb-1 reviewDate">22.02.22 | 조회수 50회</p>
      <p class="card-text mb-auto reviewNormal">위치 : 서울 관악구 신림동 10-621 지하 1층</p>
      <p class="card-text mt-3 mb-auto reviewFeatureTitle">간단 소개</p>
      <p class="card-text reviewNormal">푸짐한 양과 아낌없는 재료
        푸짐한 양과 아낌없는 재료푸짐한 양과 아낌없는 재료푸짐한 양과 아낌없는 재료푸짐한 양과 아낌없는 재료푸짐한 양과 아낌없는 재료푸짐한 양과 아낌없는 재료푸짐한 양과 아낌없는 재료푸짐한 양과 아낌없는 재료푸짐한 양과 아낌없는 재료푸짐한 양과 아낌없는 재료푸짐한 양과 아낌없는 재료푸짐한 양과 아낌없는 재료푸짐한 양과 아낌없는 재료푸짐한 양과 아낌없는 재료푸짐한 양과 아낌없는 재료
      </p>
      <!-- <p class="card-text"><small class="text-muted">Last updated 3 mins ago</small></p> -->
    </div>
</div>

 

728x90
반응형
728x90

 

nav > a : nav태그 아래 자손인 a태그

a : hover : a태그 내용에 마우스 포인터가 가면 css 적용

    nav>a:hover{  /* 네브바 글씨 선택씨 글씨 확대 및 강조*/
        color: #F08000;
        text-shadow: 1px 1px 1px #e6a254;
        font-size: large;
    }

 

 

728x90
반응형

+ Recent posts