Day66 - [css]opacity
2021. 5. 21. 09:20ㆍcss
오늘도 역시나 디자인실습을 계속 이어갔습니다.
오늘은 디자인실습 을 진행하면서, opacity 라는 걸 배웠는데요
opacity
opacity 는, 투명도 라고 생각을 하시면 됩니다. 0 ~ 1 까지의 값이 있습니다.
예를 들어서, 특정 부분을 숨겨두었다가, hover 등을 했을 때, 투명도를 없애서 보여주게 하는 겁니다.
위의 코드는, 해당 이미지에 마우스를 올렸을 때, ">" 가 파란색 "상세보기>" 로 바뀌도록 한 것 입니다.
이 외의 디자인 실습 한 코드는 아래에 올림.
- 화면에 보여지는 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.0">
<title>Document</title>
<!-- 부트스트랩 css파일 참조 -->
<link rel="stylesheet" href="css/bootstrap.css">
<!-- 부트스트랩 js를 사용하기 위해서 jquery라이브러리 참조 -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<!-- 부트스트랩 js참조 -->
<script src="js/bootstrap.js"></script>
<!-- 개인 커스텀 디자인 (가장 아래에 가져올 것) -->
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<!--
부트스트랩관련 반응형 헤더
정렬 - ctrl + k, ctrl + f
1. 백그라운드 클래스변경 navbar-inverse 삭제
2. container-fluid -> container로 변경
3. navbar-brand영역에 img태그로 로고 추가
-->
<header class="custom_header">
<nav class="navbar">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#"> <!-- 로고영역 -->
<img src="img/logo.svg" width="30">
</a>
</div>
<div class="collapse navbar-collapse" id="myNavbar">
<ul class="nav navbar-nav">
<li class="active"><a href="#">메인</a></li>
<li><a href="#">예약</a></li>
<li><a href="#">QNA</a></li>
</ul>
<!-- 우측 회원메뉴 -->
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">회원메뉴<span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#"><span class="glyphicon glyphicon-user"></span> Sign Up</a></li>
<li><a href="#"><span class="glyphicon glyphicon-log-in"></span> Login</a></li>
</ul>
</li>
</ul>
<!-- 검색버튼 (우측배치 navbar-right ) -->
<form class="navbar-form navbar-right" action="##">
<div class="input-group">
<input type="text" class="form-control" placeholder="search" name="search">
<div class="input-group-btn">
<button class="btn btn-default" type="submit">
<i class="glyphicon glyphicon-search"></i>
</button>
</div>
</div>
</form>
</div>
</div>
</nav>
</header>
<!-- 슬라이더 영역 -->
<section>
<div class="container-fluid"> <!-- 전체그리드 -->
<div class="row">
<div class="col-xs-12 slide-list">
<div id="myCarousel" class="carousel slide" data-ride="carousel">
<!-- Indicators -->
<ol class="carousel-indicators">
<li data-target="#myCarousel" data-slide-to="0" class="active"></li>
<li data-target="#myCarousel" data-slide-to="1"></li>
<li data-target="#myCarousel" data-slide-to="2"></li>
</ol>
<!-- Wrapper for slides -->
<div class="carousel-inner">
<div class="item active">
<img src="img/la.jpg" alt="Los Angeles">
</div>
<div class="item">
<img src="img/chicago.jpg" alt="Chicago">
</div>
<div class="item">
<img src="img/ny.jpg" alt="New York">
</div>
</div>
<!-- Left and right controls -->
<a class="left carousel-control" href="#myCarousel" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left"></span>
<span class="sr-only">Previous</span>
</a>
<a class="right carousel-control" href="#myCarousel" data-slide="next">
<span class="glyphicon glyphicon-chevron-right"></span>
<span class="sr-only">Next</span>
</a>
</div>
</div>
</div>
</div>
</section>
<!-- 메인 상품 리스트 영역 -->
<section>
<div class="container">
<div class="row">
<h3>오늘의 발견 <small>쿠팡이 엄선한 가장 핫한 상품!</small></h3>
<ul class="col-xs-12 prod-wrap"> <!-- xs에서는 1칸, sm이상에서는 절반 (바깥상자)-->
<li class="col-sm-6 prod-inner"> <!-- 중간상자 -->
<a href="##"> <!-- 안쪽상자 -->
<img src="img/C2_1.jpg" alt="상품1">
<sapn class="arrow"><i class="glyphicon glyphicon-menu-right"></i></sapn>
<sapn class="arrow hover">상세보기<i class="glyphicon glyphicon-menu-right"></i></sapn>
</a>
</li>
<li class="col-sm-6 prod-inner"> <!-- 중간상자 -->
<a href="##"> <!-- 안쪽상자 -->
<img src="img/C2_2.jpg" alt="상품2">
<sapn class="arrow"><i class="glyphicon glyphicon-menu-right"></i></sapn>
<sapn class="arrow hover">상세보기<i class="glyphicon glyphicon-menu-right"></i></sapn>
</a>
</li>
<li class="col-sm-6 col-md-3 prod-inner"> <!-- 중간상자 -->
<a href="##"> <!-- 안쪽상자 -->
<img src="img/C2_3.jpg" alt="상품3">
<sapn class="arrow"><i class="glyphicon glyphicon-menu-right"></i></sapn>
<sapn class="arrow hover">상세보기<i class="glyphicon glyphicon-menu-right"></i></sapn>
</a>
</li>
<li class="col-sm-6 col-md-3 prod-inner"> <!-- 중간상자 -->
<a href="##"> <!-- 안쪽상자 -->
<img src="img/C2_4.jpg" alt="상품4">
<sapn class="arrow"><i class="glyphicon glyphicon-menu-right"></i></sapn>
<sapn class="arrow hover">상세보기<i class="glyphicon glyphicon-menu-right"></i></sapn>
</a>
</li>
<li class="col-sm-6 col-md-3 prod-inner"> <!-- 중간상자 -->
<a href="##"> <!-- 안쪽상자 -->
<img src="img/C2_5.jpg" alt="상품5">
<sapn class="arrow"><i class="glyphicon glyphicon-menu-right"></i></sapn>
<sapn class="arrow hover">상세보기<i class="glyphicon glyphicon-menu-right"></i></sapn>
</a>
</li>
<li class="col-sm-6 col-md-3 prod-inner"> <!-- 중간상자 -->
<a href="##"> <!-- 안쪽상자 -->
<img src="img/C2_6.jpg" alt="상품6">
<sapn class="arrow"><i class="glyphicon glyphicon-menu-right"></i></sapn>
<sapn class="arrow hover">상세보기<i class="glyphicon glyphicon-menu-right"></i></sapn>
</a>
</li>
<li class="col-sm-12 col-md-6 prod-inner"> <!-- 중간상자 -->
<a href="##"> <!-- 안쪽상자 -->
<img src="img/C2_7.jpg" alt="상품7">
<sapn class="arrow"><i class="glyphicon glyphicon-menu-right"></i></sapn>
<sapn class="arrow hover">상세보기<i class="glyphicon glyphicon-menu-right"></i></sapn>
</a>
</li>
<li class="col-sm-6 col-md-3 prod-inner"> <!-- 중간상자 -->
<a href="##"> <!-- 안쪽상자 -->
<img src="img/C2_8.png" alt="상품8">
<sapn class="arrow"><i class="glyphicon glyphicon-menu-right"></i></sapn>
<sapn class="arrow hover">상세보기<i class="glyphicon glyphicon-menu-right"></i></sapn>
</a>
</li>
<li class="col-sm-6 col-md-3 prod-inner"> <!-- 중간상자 -->
<a href="##"> <!-- 안쪽상자 -->
<img src="img/C2_9.jpg" alt="상품9">
<sapn class="arrow"><i class="glyphicon glyphicon-menu-right"></i></sapn>
<sapn class="arrow hover">상세보기<i class="glyphicon glyphicon-menu-right"></i></sapn>
</a>
</li>
</ul>
</div>
</div>
</section>
<!-- 실습.. -->
<section>
<div class="container" style="padding: 0;">
<ul class="row col-sm-12 prod-item">
<h3>블로그 그리드 레이아웃</h3>
<li class="col-lg-5 col-md-4 col-sm-6 prod-list">
<div class="inner">
<img src="img/prod_1.jpg" alt="상품1">
<span>LINU 리누 빈백 등쿠션 당신의 편안한 잠자리를 위해 선택해야 하는 등쿠션 !</span>
<div class="bottom">
<span class="left">★★★☆☆</span>
<span class="right"><strong>99,000</strong></span>
</div>
<a href="#" class="hover-content">
LINU 리누 빈백 등쿠션 기댔을 때, 편안함을 느낄 수 있음.
</a>
</div>
</li>
<li class="col-lg-5 col-md-4 col-sm-6 prod-list">
<div class="inner">
<img src="img/prod_2.jpg" alt="상품2">
<span>White 한 감성의 전동 칫솔 !</span>
<div class="bottom">
<span class="left">★☆☆☆☆</span>
<span class="right"><strong>99,000</strong></span>
</div>
<a href="#" class="hover-content">
전동 칫솔 1X12 1세트 특가 99,000원 ! 지금이 아니면 살 수 없다 !
</a>
</div>
</li>
<li class="col-lg-5 col-md-4 col-sm-6 prod-list">
<div class="inner">
<img src="img/prod_3.jpg" alt="상품3">
<span>라이프 썸 슬림 블루투스 키보드 3대기기 멀티페어링 숫자패드 화이트</span>
<div class="bottom">
<span class="left">★★★★☆</span>
<span class="right"><strong>99,000</strong></span>
</div>
<a href="#" class="hover-content">
라이프 썸 슬림 블루투스 키보드 3대기기 멀티페어링 숫자패드, 화이트 1개
</a>
</div>
</li>
<li class="col-lg-5 col-md-4 col-sm-6 prod-list">
<div class="inner">
<img src="img/prod_4.jpg" alt="상품4">
<span>엑토 스키니10 블루투스 키보드케이스, TKC-04, 블랙</span>
<div class="bottom">
<span class="left">★★★★★</span>
<span class="right"><strong>99,000</strong></span>
</div>
<a href="#" class="hover-content">
엑토 스키니10 블루투스 키보드케이스, TKC-04, 블랙 1개
</a>
</div>
</li>
<li class="col-lg-5 col-md-4 col-sm-6 prod-list">
<div class="inner">
<img src="img/prod_5.jpg" alt="상품5">
<span>뉴플러스 유무선 엔틱 키보드, JTK206 화이트</span>
<div class="bottom">
<span class="left">★★☆☆☆</span>
<span class="right"><strong>99,000</strong></span>
</div>
<a href="#" class="hover-content">
뉴플러스 유무선 엔틱 키보드, JTK206 화이트 1개
</a>
</div>
</li>
</ul>
</div>
</div>
</section>
<footer>
<div class="container">
<div class="row">
<div class="col-md-7 col-sm-12">
<div class="copyright">
<a href=""><img src="img/logo.svg" width="30"></a>
Coding404 | 대표자 : 사라만 | E-MAIL : rsorry@naver.com<br/>
개인정보보호책임자 : 사라만 | KG-ITbank에서 오프라인 강의를 진행합니다<br/>
주소 : 서울시 강남구<br/>
<address>©Bootstrap. ALL RIGHTS RESERVED</address>
</div>
</div>
<div class="col-md-5 col-sm-12">
<ul class="footer-menu">
<li><a href="#">고객센터</a></li>
<li><a href="#">유용한정보</a></li>
<li><a href="#">개인정보취급방침</a></li>
<li><a href="#">QNA</a></li>
</ul>
</div>
</div>
</div>
</footer>
</body>
</html>
파일명: style.css
/* 1. 웹폰트 선언 */
@import url('https://fonts.googleapis.com/css2?family=Single+Day&display=swap');
/* 2. 디자인 시작시 기본 선언 */
* {
padding: 0;
margin: 0;
box-sizing: border-box;
}
body, html {
font-family: 'Single Day', cursive; /* 웹폰트 적용 */
width: 100%;
min-width: 320px;
}
img {
max-width: 100%; /* 사이즈가 변했을 때 넓이 유지 */
height: auto; /* 넓이에 따라 높이는 자동으로 변함 */
}
input, textarea, button, select {
/* 브라우저 별로 고유하게 적용되는 form관련요소들의 css제거 */
-webkit-appearance: none;
-moz-appearance: none;
-o-appearance: none;
}
ul, li, dl, ol {
list-style: none; /* 순서요소들의 리스트 스타일 제거 */
}
/* 버튼과 input태그의 윤곽 변경 */
.btn {border-radius: 0px;}
.form-control {border-radius: 0px;}
section {margin-top: 52px;}
/* ==========헤더========== */
.header_col1 {
background-color: #eee;
overflow: hidden;
height: 52px; /* 높이 */
line-height: 52px; /* 세로축 가운데 정렬 */
}
.top_width > ul > li.on {
/* 선택자를 붙여서 사용하게되면 li태그안에 클래스이름이 on인 것을 의미 */
border-top: 1px solid #d2d0d0;
line-height: 42px;
border-left: 1px solid #d2d0d0;
border-right: 1px solid #d2d0d0;
border-bottom: 1px solid #fff;
background: #fff;
font-weight: 500;
border-bottom: 5px solid #037fc3;
}
.top_width > ul > li {
display: inline-block;
width: 135px;
text-align: center;
font-weight: 700;
}
.top_width > ul > li > a {
text-decoration: none;
font-size: 14px;
color: #666;
}
.top_width{overflow: hidden; width: 1240px; margin: 0 auto;}
.fl_left {float: left;}
.fl_right {float: right;}
.fl_right > a {
background-color: #fff;
text-decoration: none;
color: #666;
font-size: 14px;
padding: 10px;
border: 1px solid #d2d2d2;
}
/* =====아래쪽헤더===== */
.top_hide {display: none;}
.logo a {
background-image: url("../img/logo.png");
display: block; /* a태그의 컨텐츠요소가 없기 때문에 강제 지정 */
width: 200px;
height: 33px;
margin: 23px 0 0; /* 위 좌우 아래 */
background-repeat: no-repeat;
}
.logo{float: left;} /* 부모에 hidden */
.top_menu{float: left; margin-left: 30px;}
.top_menu > ul > li {
display: inline-block; /* 배치구도변경 */
}
.top_menu > ul > li > a {
/* a에 넓이 설정을 해주는 이유는 마우스가 클릭이 가능하도록 하기 위해서 */
display: block;
height: 80px;
line-height: 80px;
padding: 0 5px;
margin: 0 10px;
font-size: 18px;
font-weight: 500;
color: #333;
text-decoration: none;
}
.top_menu > ul > li > a:hover{
color: #39f;
/* background-color: #888f; */
}
/* ================================헤더2디자인==================================== */
.navbar {
margin: 0;
}
.custom_header {
background-color : #263238;
position: fixed;
top: 0;
left: 0;
width: 100%;
z-index: 50;
}
.custom_header nav a {
color: #fff;
}
.navbar-brand {
padding: 10px 15px;
}
/* 마우스, 호버, 포커스 시 백그라운드 색상변경 */
.custom_header .nav > li > a:hover,
.custom_header .nav > li > a:focus{
background-color: #304047;
}
/* 모바일환경에서 메뉴 윤곽색 */
.custom_header .navbar-toggle, .icon-bar{
color: #fff;
border: 1px solid #fff;
border-radius: 0px;
}
/* 드롭다운메뉴 색상변경 */
.dropdown-menu > li > a {
color: #333;
}
@media(max-width: 767px){
.dropdown-menu > li > a {
color: #eee;
}
}
/* ========= footer ============ */
footer {
background-color: #263238;
color: #eee;
padding: 40px 0;
}
footer .copyright {
font-size: 15px;
font-weight: 400;
}
footer .footer-menu > li {
display: inline-block;
}
footer .footer-menu > li > a {
display: block;
padding: 0 15px;
color: #eee;
}
/* ========== 슬라이더 영역 ============= */
.slide-list {
padding: 0px;
}
.carousel-control.right,
.carousel-control.left {
background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 100%);
}
/* ========= 메인 상품 리스트 =========== */
.prod-wrap, .prod-inner > a {
border: 1px solid #666;
}
.prod-wrap, .prod-inner {
padding: 5px;
}
.prod-inner > a {
display: block;
text-align: center;
position: relative;
}
.prod-inner > a > .arrow {
display: block;
width: 35px;
height: 35px;
line-height: 35px;
background-color: #ccc;
color: #fff;
position: absolute; /* 부모 영역에 relative 해줘야 함 */
bottom: 20px;
left: 20px;
}
.prod-inner > a > .hover {
width: 100px;
background-color: #037fc3;
opacity: 0; /* 0이면 투명, 1이면 기본 */
}
.prod-inner > a:hover > .arrow {
opacity: 0;
}
.prod-inner > a:hover > .hover {
opacity: 1;
}
.prod-inner > a:hover {
border: 1px solid #037fc3;
}
/* ========== 실습 (메인 아래쪽) ============= */
.prod-item {
padding: 0;
overflow: hidden;
}
.prod-item > .prod-list {
padding-left: 0px;
padding-right: 20px;
text-align: center;
}
@media(min-width:1200px){
.prod-item > .prod-list {
width: 20%;
}
}
.prod-list > .inner {
border: 1px solid #d2d2d2;
position: relative;
margin-bottom: 30px;
}
.prod-list > .inner > span {
display: -webkit-box;
-webkit-line-clamp:2;
-webkit-box-orient:vertical;
padding: 10px;
min-height: 50px;
height: 50px;
overflow: hidden;
text-overflow: ellipsis;
}
.prod-list > .inner > .bottom {
padding: 20px 10px;
overflow: hidden;
}
.prod-list > .inner > .bottom > .left {
float: left;
color: #FDCC11;
}
.prod-list > .inner > .bottom > .right {
float: right;
font-size: 15px;
font-weight: bold;
}
.prod-list > .inner > .hover-content {
display: inline-block;
width: 100%;
height: 100%;
color: white;
background-color: black;
font-size: 18px;
position: absolute;
top: 0;
left: 0;
text-decoration: none;
padding: 10px;
opacity: 0;
}
.prod-list > .inner:hover > .hover-content {
opacity: 0.7;
}
'css' 카테고리의 다른 글
Day68 - [css]디자인실습 4일차. (0) | 2021.05.24 |
---|---|
Day67 - [css]transition (0) | 2021.05.23 |
Day65 - [css]디자인실습 01 (0) | 2021.05.19 |
Day65 - [css]부트스트랩.폼 , 모달, Carousel (0) | 2021.05.19 |
Day64 - [css]부트스트랩 . 그리드 (0) | 2021.05.18 |