Interactive Web_UI UX

Interactive Web _ 프로필 카드 제작하기_html_css

FireStone 2022. 8. 31. 22:34

해당 실습을 진행하며 사용된 것들을 기록하고자 함

 

- css 가상요소 

 : css를 통해 가상의 element를 추가하는 코드 

 

 :before는 html 안 앞쪽에 추가하는 가상 요소이고, 

 :after는 html 이 끝날 때 추가되는 가상 요소이다.

 

- clear 속성

사진에 float 속성을 적용하면 이후에 오는 글자나 다른 요소들이 사진 주위를 둘러싸는 형태가 되는데,

사진 주위로 요소들이 따라 붙지 않도록 clear를 사용함

 

clear : none은 clear를 설정하지 않은 것과 같음

clear: left는 왼쪽을 취소( float :left를 취소)

clear: both는 오른쪽/왼쪽 모두 취소 

 

- :nth-of-type() 가상 클래스

같은 유형의 n 번째 형제 element를 선택함 

 

 

- 실습 결과

아래 색상으로 된 프로필 링크를 클릭하면 프로필이 변경됨 

* 아이콘이 제대로 표시가 안돼서 해결해야함..

 

 

<!DOCTYPE html>
<html lang="ko">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>프로필 카드 1</title>
	<link rel="icon" href="favicon.ico" type="image/x-icon">
	<script src="https://kit.fontawesome.com/c47106c6a7.js" crossorigin="anonymous"></script>
	<link rel="stylesheet" href="css/style.css">
	<script defer src="js/ie.js"></script>
</head>
<body class="member1">
	<section>
		<nav class="menu">
			<a href="#"><i class = "fas fa-bars"></i></a>
			<a href="#"><i class = "far fa-sticky-note"></i></a>
		</nav>	
		<article class="profile">
			<img src="img/member6.jpg" alt="프로필 이미지">

			<h1>DEV_YEJIN</h1>
			<h2> UI/UX INTERACTIVE DEVELOPER</h2>
			<a href="#" class="btnView">VIEW MORE</a>

			<ul class="contact">
				<li>
					<i class="fab fa-facebook-f"></i>
					<span>Visit My chbuljumeok1997 Blog.</span>
				</li>
				<li>
					<i class="fas fa-envelope "></i>
					<span>yejinshin99@gmail.com</span>
				</li>			
			</ul>

		<nav class="others">
			<a href="member1.html" class="on"></a>
			<a href="member2.html"></a>
			<a href="member3.html"></a>
			<a href="member4.html"></a>
		</nav>
		</article>
	</section>
</body>
</html>

 

- css

@charset "utf-8";
@import url("https://fonts.googleapis.com/css2?family=Orbitron&display=swap");

* {
	margin: 0px;
	padding: 0px;
	box-sizing: border-box;
}
ul {
	list-style: none;
}
a {
	text-decoration: none;
}

body{
	background-color: #ebfaff;
}

section {
	width: 340px;
	padding: 30px;
	background-color: #fff;
	margin: 50px auto;
	box-shadow: 10px 10px 30px rgba(0,0,0,0.1);
	border-radius: 10px;
}

/*상단바 만들기 */

section nav.menu {
	width: 100%;
}
section nav.menu::after {
	content: "";
	display: block;
	clear: both;
}
section nav.menu a {
	font-size: 20px;
	color: #666;
}
section nav.menu a:nth-of-type(1) {
	float: left;
}
section nav.menu a:nth-of-type(2) {
	float: right;
}

/*프로필 만들기 */
section article.profile{
	width: 100%;
	text-align: center;
}

section article.profile img{
	width: 200px;
	height: 200px;
	border-radius: 50%;
	margin-bottom: 20px;
	box-shadow: 5px 15px 30px rgba(173, 216, 230, 0.8);
}

section article.profile h1 {
	font-weight: bold;
	font-size: 22px;
	font-family: "arial";
	line-height: 1;
	color: #555;
	margin-bottom: 5px;
}
section article.profile h2 {
	font-weight: normal;
	font-size: 12px;
	font-family: "arial";
	color: #bbb;
	margin-bottom: 30px;
}
section a.btnView {
	display: block;
	width: 180px;
	height: 32px;
	margin: 0px auto 20px;
	background-color:#444;
	border-radius: 16px;
	font-weight: bold;
	font-size: 10px;
	font-family: "arial";
	color: #fff;
	line-height: 32px;
	text-align: center;
	background: linear-gradient(45deg, #5cbdbd, #228e9c);
	box-shadow: 5px 10px 20px rgba(18, 121, 121, 0.493);
}

section nav.others {
	width: 100%;
	text-align: center;
}
section nav.others a {
	display: inline-block;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	margin: 0px 10px;
	opacity: 0.4;	/* 8단계 버튼 활성화하기 */
	filter: saturate(0.7); /* 8단계 버튼 활성화하기 */
}
section nav.others a.on {
	opacity: 1; /* 8단계 버튼 활성화하기 */
	filter: saturate(1); /* 8단계 버튼 활성화하기 */
}
section nav.others a:nth-of-type(1) {
	background-color: #35e0f7;
	box-shadow: 5px 5px 10px rgba(74, 255, 255, 0.7); 
}
section nav.others a:nth-of-type(2) {
	background-color: #621c9b;
	box-shadow: 5px 5px 10px rgba(181, 85, 245, 0.7); 
}
section nav.others a:nth-of-type(3) {
	background-color: #80ffb5;
	box-shadow: 5px 5px 10px rgba(128, 255, 185, 0.7); 
}
section nav.others a:nth-of-type(4) {
	background-color: #a794fd;
	box-shadow: 5px 5px 10px rgba(167, 148, 253, 0.7); 
}

/* 6단계 - 연락처 목록 만들기 */
section ul.contact {
	margin-bottom: 25px; 
}
section ul.contact li {
	width: 100%;
	padding: 10px 0px;
	border-bottom: 1px solid #eee;
}
section ul.contact li:last-child {
	border-bottom: none;
}
section ul.contact li i {
	width: 20%;
	text-align: center;
	color: #555;
	font-size: 15px;
	text-shadow: 2px 2px 2px #ddd;
}
section ul.contact li span {
	font-weight: normal;
	font-size: 11px;
	font-family: "orbitron";
	color: #555;
	letter-spacing: 1px;
}

/* 9단계 - 멤버별 프로필 완성하기 */
/* member1 */
body.member1 {
	background-color: #ebfaff;
}
body.member1 section article.profile img {
	box-shadow: 5px 15px 30px rgba(173, 216, 230, 0.8);
}
body.member1 section a.btnView {
	background: linear-gradient(45deg, #4affff, #35e0f7);
	box-shadow: 5px 10px 20px rgba(0, 255, 255, 0.493);
}
/* member2 */
body.member2 {
	background-color: #c7b7eb;
}
body.member2 section article.profile img {
	box-shadow: 5px 15px 20px #892ebe83; 
}
body.member2 section a.btnView {
	background: linear-gradient(45deg, #cb9dff, #9a55f5);   
    box-shadow: 5px 10px 20px rgba(170, 33, 250, 0.3); 
}

'Interactive Web_UI UX' 카테고리의 다른 글

인터랙티브 웹 Part1_기본 문법부터 시작  (0) 2022.08.24