다연이네

[days01] CSS 투명도, 박스 위치 지정과 클릭시 맨 위로 이동하는 법, background 본문

Web/CSS

[days01] CSS 투명도, 박스 위치 지정과 클릭시 맨 위로 이동하는 법, background

 다연  2020. 12. 3. 13:43
반응형

1. opacity: 투명도 설정

 

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Insert title here</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

<style>
	body{
		background-color: lightblue; /* 유효한 색상이름, rgb(255,0,0), #ff0000 */
	}
	
	p,div{
		width: 200px;
		border:1px solid gray;
		padding: 10px; /* 박스 안쪽 여백  */
	}
	
	div{
		background-color:green;
	}
	
	/* div 태그 안에 자식 태그(하위 태그)들이 있다면 그 하위태그들에게도 투명도가 동일하게 상속됨.*/
	div.first{
		opacity:0.1; /* 투명도 1(100%)~0.5(50%) */
	}
	div.second{
		opacity:0.3; /* 투명도 1(100%)~0.5(50%) */
	}
	div.third{
		opacity:0.6; /* 투명도 1(100%)~0.5(50%) */
	}
	
	
	
</style>
</head>
<body>

<h3>Hello World:)</h3>
<p class="first">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Quo consequuntur.</p>

<div class="first">Lorem ipsum dolor sit.</div>
<div class="second">Lorem ipsum dolor sit.</div>
<div class="third">Lorem ipsum dolor sit.</div>
<div style="opacity: 1" >투명도:1(기본값)</div> <!-- opacity:1은 불투명이고 기본값  -->
<div style="background-color:rgba(0,255,0,0.3)" >Lorem ipsum dolor.</div> 
				<!-- 이렇게 투명도 줄 수도 있다 -->
</body>
</html>

 

투명도 설정 방법에는 두가지가 존재한다.

 1. <style>에서 opacity를 통해 설정할 수 있다.

<style>
div.first{
		opacity:0.1; /* 투명도 1(100%)~0.5(50%) */
	}
</style>

 2. 인라인 형식으로 backgroud-color:rgba( , , , 투명도 )을 통해 설정할 수 있다.

<div style="background-color:rgba(0,255,0,0.3)" >안녕</div> 

 


2. 우측 맨 아래에 박스를 두고 (스크롤에 상관 없이 계속 존재) 그 박스를 클릭하면 맨 위로 이동하도록 한다.

지금 우측 맨 아래 top 박스에 마우스를 올려놓은 상태이다. 

원래는 이렇게 생긴 박스가 마우스를 올리면 배경은 검정색, 글자는 노란색이 되고 

<style>
div#top{
	/* border: 1px solid gray; 밑 세줄을 줄인 것 */
	border-width: 1px;
	border-style: solid;
	border-color: gray;
	
	width: 25px;
	height: 25px;
	
	position: fixed;
	right: 5px; /* 이 위치에 고정함 오른쪽기준 5px 바닥기준 5px 떨어짐 */
	bottom: 5px;
}

div#top:hover { /*마우스가 올라갈때  */
	background-color: black;
	color: yellow;
	font-weight: bold;
	cursor: pointer;
}
</style>

박스를 누르면 맨 위로 이동하게 된다.

<script>
 $("#top").click(function() {
	document.body.scrollTop=0;
	document.documentElement.scrollTop=0; 
    // 똑같은 의민데 브라우저마다 실행 될수도 있고 안될 수 있으니까 두개 적음
});
 </script>

전체코드는 이렇다.

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Insert title here</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<style>
	body{
		
		background: #ffffff url("./../images/img_tree.gif") no repeat right top fixed;
		margin-right: 200px; /* 이미지와 글자가 겹치지 않도록 글자 박스 우측 여백 주기 */
		/* border: solid 1px red; */
	}
	
	p{
	width: 300px;
		/* background-image: url('./../images/paper.gif'); */
	}
</style>

<style>
div#top{
	/* border: 1px solid gray; 밑 세줄을 줄인 것 */
	border-width: 1px;
	border-style: solid;
	border-color: gray;
	
	width: 25px;
	height: 25px;
	
	position: fixed;
	right: 5px; /* 이 위치에 고정함 오른쪽기준 5px 바닥기준 5px 떨어짐 */
	bottom: 5px;
}

div#top:hover { /*마우스가 올라갈때  */
	background-color: black;
	color: yellow;
	font-weight: bold;
	cursor: pointer;
}
</style>

</head>
<body>
<div id="top">top</div>
<h3>CSS 배경</h3>
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. 
Beatae obcaecati cumque facilis et illum recusandae aliquam
 rem odio voluptatibus rerum numquam vel doloremque ut eveniet 
 nostrum laudantium tempora? Dolor sed.</p>
 
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 <p>.</p>
 
 <script>
 $("#top").click(function() {
	document.body.scrollTop=0;
	document.documentElement.scrollTop=0; 
    // 똑같은 의민데 브라우저마다 실행 될수도 있고 안될 수 있으니까 두개 적음
});
 </script>
</body>
</html>

 


3. background

 1) 배경 색깔 또는 사진 설정하기

<style>
	body{
		 background-color: red;	
		background-image: url('./../images/gradient.png'); 
			/* background-repeat: repeat-y;  */ => y춧만 반복
        		/* background-repeat: repeat-x;  */ => x축만 반복
        		/* background-repeat: no-repeat; */ => 반복 안함
							 
		
	
</style>

  2) 배경을 스크롤에 상관 없이 고정하게 하기 + 배경 위치 지정( 전체 배경이 아니게)

<style>
 <body>
	background-image: url('./../images/img_tree.gif');
		background-repeat: no-repeat;
		background-position: right top;
		background-attachment: fixed; /*스크롤 내려도 고정되어 있음  */ */
		/* background-attachment: scroll; 
          	이게 기본(배경이미지가 페이지의 나머지 부분과 함께 스크롤 되어짐) */
 </body>     
</style>

background-position을 통해 그림 위치를 잡고

background-attachment: fixed; 를 통해 스크롤바를 내려도 그림이 올라가지 않고 그 자리에 존재하게 했다.

 

위의 네 줄을 한번에 쓸 수도 있다.

background: url("./../images/img_tree.gif") no repeat right top fixed;

 

반응형
Comments