CSS Advanced

예진·2020년 7월 25일

CSS3

목록 보기
10/11
### CSS Advanced

	border-radius: ;
    	
        px, % 단위로 둥글기를 조절 할 수 있다. 
        
        1 개의 값을 적는 경우 : 네 모서리 모두에 적용된다.
        
        2 개의 값을 적는 경우 : 각각 왼쪽 상단과 오른쪽 아래, 오른쪽 상단과 왼쪽 아래 모서리에 적용된다.
        
        3 개의 값을 적는 경우 : 각각 왼쪽 상단, 오른쪽 상단과 왼쪽 아래 , 오른쪽 아래 모서리에 적용된다.
        
        4 개의 값을 적는 경우 : 각각 왼쪽 상단, 오른쪽 상단, 오른쪽 하단 모서리, 왼쪽 하단 모서리에 적용된다. 
        
    border-image: url() (숫자) (타입) ;
    	
        일반 테두리 대신 사용할 이미지를 지정할 수 있다. 
        
        타입 
        
        	round : 이미지의 중간부분이 반복되어 테두리가 만들어진다.
            
            stretch : 이미지의 중간부분이 확장되어 테두리가 만들어진다.
        
  	다중 background 
    	
        background-image: ;
        	
            이미지의 url을 여러 개 추가하면 다중 배경을 만들 수 있다.
            
            ex) url(이미지링크1), url(이미지링크2)
            
        background-position: ;
        	
            이미지를 추가한 순서대로 위치를 정해 준다. 
            
            ex) left top, left bottom, right top, right bottom
            
     	background-repeat: ;
        
        	이미지를 추가한 순서대로 이미지 반복 여부를 정해 준다. 
            
            ex) no-repeat, repeat
            
        속성으로 설정하기 
        	
            background: ; <- 이 안에 이미지링크 배치위치 반복여부, 이미지링크 배치위치 반복여부 이런 식으로 기입하면 빠르게 설정할 수 있다.
            
	background-size: ;
    	
        안에 배경 사이즈값을 넣어준다. (px단위)
        
        contain/ cover를 넣어준다. 
        	
        	contain : 컨텐츠 영역의 폭에 맞게 이미지 크기를 조정한다.
            
            cover : 컨텐츠 영역의 높이에 맞게 이미지 크기를 조정한다.
            
            	둘 다 조정한 크기에 맞추어 폭이나 높이가 일부 보이지 않을 수 있다.
        
        브라우저 전체 페이지를 이미지로 채우기
        
        	style에서 html의 background와 background-size를 설정해 준다.
    
    background-origin: ;
    	
        배경 이미지의 위치를 지정한다.
        
        border-box : 테두리의 왼쪽 상단에서 이미지 시작
        
        padding-box : 패딩 왼쪽 상단에서 이미지 시작
        
        content-box : 컨텐츠의 왼쪽 상단에서 시작
        
    background-clip: ;
    
    	배경 이미지가 덮는 영역을 지정한다. 
        
        border-box : 테두리의 바깥 쪽 가장자리까지 덮는다.
        
        padding-box : 패딩의 바깥 쪽 가장자리까지 덮는다.
        
        content-box : 컨텐츠 안을 덮는다.
        
    그라디언트
    
    	선형 그라디언트(위->아래 기본값) :
        
        	background-image: linear-gradient(방향,시작색,...,끝색);
            	방향
                
                	to right : 왼쪽에서 오른쪽으로 그라디언트
                    
                    to bottom right : 왼쪽 상단에서 오른쪽 하단으로 그라디언트 (대각선)
            
        반복 선형 그라디언트( 그라디언트 반복됨):
        	
            repeating-linear-gradient(); 사용
            
        원형 그라디언트(방사형, 안->밖 기본값) :
        
        	radial-gradient(모양, 시작색,...,끝색); 사용
            
            	모양
                	
                    기본값은 타원이다.
                    
                    circle: 원형
                    
                    closest-side
					
                    farthest-side
					
                    closest-corner
					
                    farthest-corner
            
        반복 원형 그라디언트
        
        	repeating-radial-gradient(); 사용
        
	text-overflow: ;
    
    	clip : 오버플로우된 텍스트를 자른다.
        
        ellipsis : 오버플로우된 텍스트가 ...(말줄임표) 로 렌더링된다.
                
   	word-wrap: ;
    
    	break-word : 긴 한 단어가 화면 밖으로 나가지 않게 잘라서 다음 줄에 쓴다.
        
    word-break: ;
    
    	break-all : 단어를 테두리에 맞게 다 자른다.
        
        keep-all : 하이픈(-)을 끊는다.
        
    writing-mode: ;
    
    	horizontal-tb : 기본값이다. 왼쪽에서 오른쪽으로 수평
        
        vertical-rl : 고개를 오른쪽으로 90도 기울여서 볼때 잘 읽히게 수직으로 텍스트를 나열한다.
        
    2D 변환
    	
         transform: ;
         
         	translate(x,y) : 현재 위치에서 이동한다. (px단위)
            
            rotate(Xdeg) : 시계방향으로 X 도만큼 회전한다(-는 반시계로_ 
            
            scaleX(x) : 요소의 너비를 늘리거나 줄인다. (배수)
            
            scaleY(y) : 요소의 높이를 늘리거나 줄인다. (배수)
            
            scale(x,y) : 요소의 크기를 늘리거나 줄인다.(가로,세로)
            
            skewX() : 요소를 x축을 따라 각도만큼 기울인다.
            
            skewY() : 요소를 Y축을 따라 각도만큼 기울인다.
            
            skew(xdeg,ydeg) : 요소를 x,y 축을 따라 각 각도만큼 기울인다.
            
            matrix(): 위의 모든 방법을 하나로 결합한다. 
            	(scaleX,skewY,skewX,scaleY,translateX,translateY)
                
    3D 변환
    
    	transform: ;
        
        	rotateX() : x축을 중심으로 주어진 각도만큼 회전시킨다.
            
            rotateY() : y축을 중심으로 주어진 각도만큼 회전시킨다.
            
            rotateZ() : z축을 중심으로 주어진 각도만큼 회전시킨다.
    	
	전환
    
    	transition: 효과를 넣을 CSS속성 , 지속 시간 ;
        
        	hover을 사용하여 적용할 효과에 대해 작성한다.
            
        transition-timing-function: ;
        	
            ease : 느리게 시작한 다음 빠르게 전환 한 다음 천천히 종료하여 전환 효과를 지정한다. (기본값).
            
            linear : 처음부터 끝까지 같은 속도로 전환 효과를 지정한다.
            
            ease-in : 느린 시작으로 전환 효과를 지정한다.
            
            ease-out : 느린 끝으로 전환 효과를 지정한다.
            
            ease-in-out : 느린 시작과 끝으로 전환 효과를 지정한다.
            
            cubic-bezier(n,n,n,n) : 사용자 정의 값을 정의할 수 있다.
            
        transition-delay: ;
        	
            효과로 전환되기 전 지연 시간을 지정한다. (s단위)
        	
 	애니메이션
    
    	@keyframes (name): 안에 적은 애니메이션을 name을 적은 요소에 바인딩한다.
        	ex)
            /* The animation code */
              @keyframes example {
                from {background-color: red;}
                to {background-color: yellow;}
              }

              /* The element to apply the animation to */
              div {
                width: 100px;
                height: 100px;
                background-color: red;
                animation-name: example;
                animation-duration: 4s;
              }
              
		animation-duration : 애니메이션을 완료하는 데 걸리는 시간.(기본값 0초)
        
        animation-delay : 애니메이션 시작 지연시간을 지정한다.(음수 값도 허용)
        
        animation-interaction-count : 애니메이션 실행 횟수를 지정한다.(횟수 또는 infinite 사용 가능(무한반복))
        
        animation-direction: ;
        
        	normal : 애니메이션이 정상적으로 재생된다. 기본값
            
            reverse : 애니메이션이 역방향으로 재생된다. 
            
            alternate : 애니메이션이 정상적으로 재생된 뒤, 역으로 재생된다.
            
            alternate-reverse : 애니메이션이 역방향으로 재생된 뒤, 정상적으로 재생된다.
            
        animation-timing-function: ;
        
        	ease : 느리게 시작한 다음 빠르게 재생 한 다음 천천히 종료한다. (기본값).
            
            linear : 처음부터 끝까지 같은 속도로 애니메이션을 지정한다.
            
            ease-in : 느린 시작으로 애니메이션을 지정한다.
            
            ease-out : 느린 끝으로 애니메이션을 지정한다.
            
            ease-in-out : 느린 시작과 끝으로 애니메이션을 지정한다.
            
            cubic-bezier(n,n,n,n) : 사용자 정의 값을 정의할 수 있다.
            
        animation-fill-mode: ;
        
        	none : 스타일을 적용하지 않는다. 기본값
            
            forwards : 요소는 마지막 키 프레임에서 설정 한 스타일 값을 유지한다. (애니메이션 방향 및 애니메이션 반복 횟수에 따라 다름)
            
            backwards : 요소는 첫 번째 키 프레임에 의해 설정된 스타일 값을 가져오고 (애니메이션 방향에 따라 다름) 애니메이션 지연 기간 동안 이를 유지한다.
            
            both: 애니메이션은 앞뒤로 규칙을 따라 애니메이션 속성을 양방향으로 확장한다.
        
    툴팁
    	
        오른쪽 툴팁 :
        	
	            .tooltip .tooltiptext {
                  top: -5px;
                  left: 105%;
                }
                
        왼쪽 툴팁 : 
        	
            .tooltip .tooltiptext {
              top: -5px;
              right: 105%;
            }
		
        위쪽 툴팁
        
        	.tooltip .tooltiptext {
              width: 120px;
              bottom: 100%;
              left: 50%;
              margin-left: -60px; /* Use half of the width (120/2 = 60), to center the tooltip */
            }
            
        아래쪽 툴팁
    		
            .tooltip .tooltiptext {
              width: 120px;
              top: 100%;
              left: 50%;
              margin-left: -60px; /* Use half of the width (120/2 = 60), to center the tooltip */
            }
            
         아래쪽 화살표 툴팁
         
         	.tooltip .tooltiptext::after {
              content: " ";
              position: absolute;
              top: 100%; /* At the bottom of the tooltip */
              left: 50%;
              margin-left: -5px;
              border-width: 5px;
              border-style: solid;
              border-color: black transparent transparent transparent;
            }
            
         위쪽 화살표 툴팁 
         
         	.tooltip .tooltiptext::after {
              content: " ";
              position: absolute;
              bottom: 100%;  /* At the top of the tooltip */
              left: 50%;
              margin-left: -5px;
              border-width: 5px;
              border-style: solid;
              border-color: transparent transparent black transparent;
            }
            
         왼쪽 화살표 툴팁
         
         	.tooltip .tooltiptext::after {
              content: " ";
              position: absolute;
              top: 50%;
              right: 100%; /* To the left of the tooltip */
              margin-top: -5px;
              border-width: 5px;
              border-style: solid;
              border-color: transparent black transparent transparent;
            }
            
         오른쪽 화살표 툴팁  
            
            .tooltip .tooltiptext::after {
              content: " ";
              position: absolute;
              top: 50%;
              left: 100%; /* To the right of the tooltip */
              margin-top: -5px;
              border-width: 5px;
              border-style: solid;
              border-color: transparent transparent transparent black;
            }
            
	객체 맞춤
    	
        object-fit: ;
        
        	cover : 설정한 이미지의 크기대로 이미지를 잘라서 보여준다.
            
            fill : 설정한 크기대로 이미지가 보여진다. 비율이 안맞을 수 있음. 기본값.
            
            contain : 컨텐츠 상자에 들어가면서 가로세로 비율을 유지한다.
            
            none : 크기가 조정되지 않음 
            
            scale-down : 내용이 없거나 포함되지 않은 것처럼 크기가 조정된다. 
            
     사용자 인터페이스
     
     	resize: ;
        	
            사용자가 요소의 크기를 조정할 수 있다. 
            
            
            horisontal : 사용자가 요소의 너비만 조절할 수 있다.
            
            vertical : 사용자가 요소의 높이만 조절할 수 있다.
            
            both : 사용자가 요소의 너비와 높이 모두 조절할 수 있다. 
            
    변수
    
    	:root에서 --로 시작하는 변수를 선언하고, 사용시 var(변수이름)으로 사용할 수 있다.
        
    flexbox
    
    	display 속성을 flex로 해주면 flex container이 유연해진다.
        
        flex-direction: ;
        	
            컨테이너가 플렉스 항목을 쌓을 방향을 정의한다.
            
            column : 위에서 아래로 수직 정렬
            
            column-reverse : 아래에서 위로 수직 정렬
            
            row : 왼쪽에서 오른쪽으로 수평 정렬
            
            row-reverse : 오른쪽에서 왼쪽으로 수평 정렬
            
        flex-wrap: ;
        
        	wrap : flex 항목을 래핑한다.
            
            nowrap : flex 항목을 래핑하지 않는다.
            
            wrap-reverse : flex 항목을 역방향으로 래핑한다.
            
        flex-flow: ;
        
        	flex-dirextion과 flex-wrap 을 속성으로 설정하기 위한 옵션이다.
            
        justify-content: ;
        
        	center : flex 항목을 컨테이너 중심에 맞추어 정렬한다. 
            
            flex-start : 컨테이너 시작부분에 맞추어 flex 항목을 정렬한다.
            
            flex-end : flex 항목을 컨테이너 끝에 맞추어 정렬한다.
            
            space-around : flex 항목의 전 후, 항목간의 사이에 공간을 두어 정렬한다.
                  
            space-between : flex 항목간의 사이에 공간을 두어 정렬한다.
            
        align-items: ;
        
        	center : flex 항목을 컨테이너 중심에 맞추어 정렬한다. 
            
            flex-start : 컨테이너 상단부분에 맞추어 flex 항목을 정렬한다.
            
            flex-end : flex 항목을 컨테이너 하단에 맞추어 정렬한다.
            
            stretch : flex 항목을 컨테이너 크기에 맞게 늘려 정렬한다.
            
            baseline : flex 항목을 기준선에 맞추어 정렬한다. 
            
        align-content: ;
        
        	space-around : flex 항목의 전 후, 항목간의 사이에 공간을 두어 정렬한다.
                  
            space-between : flex 항목간의 사이에 공간을 두어 정렬한다.
            
            stretch : flex 항목을 컨테이너 크기에 맞게 늘려 정렬한다.
            
            center : flex 항목을 컨테이너 중심에 맞추어 정렬한다. 
            
            flex-start : 컨테이너 상단부분에 맞추어 flex 항목을 정렬한다.
            
            flex-end : flex 항목을 컨테이너 하단에 맞추어 정렬한다.
            
        justify-content 와 align-items 속성을 둘 다 center로 하면 flex 항목이 완별하게 가운데에 배치된다.   
        
        flex 항목의 속성 
        
        	order : flex 항목의 순서를 지정한다.
            
            flex-grow : 나머지 flex 항목에 비해 확대되는 지정한다.(기본값 0)
            
            flex-shrink : 나머지 flex 항목에 비해 축소되는 정도를 지정한다.(기본값 1)
            
            flex-basis : flex 항목의 초기 길이를 지정한다.(px 단위)
            
            flex: ; 를 사용하면 위 3 개 항목을 속성으로 설정할 수 있다.
            
        align-self: ;
        	
            특정 항목의 정렬을 지정한다. align-items로 설정된 것보다 우선순위가 높다. 
            
         
        
        
            
            

0개의 댓글