-
css태그정리:transform등_210401(목)HTML&CSS 2021. 7. 21. 23:28
transform 속성
:이미지 변형
☆요소 속성
translate (x,y): x축 y축으로 이동 (x,y따로 translateX,translateY으로 가능)
translate3d (x축 , y축, z축): 3차원 이동
scale(x,y): x축 y축으로 확대,축소(위와 동일)
scale3d (x축 , y축, z축): 3차원 확대, 축소
rotate:회전. 오른쪽회전 양수, 왼쪽회전 음수
rotate3d (x축 , y축, z축, 각도): 3차원 회전.
skew: 왜곡, 비틀려도는 것.
' :hover ' : 커서 올릴 때 변화오게 하는 속성지정
transform-origin속성: right bottom;
기준점을 잡는 태그
위 속성들과 사용시 그 기준점에 모서리를 고정하고 변형됨.
transform-style속성: 같은 축에 서있을지 떨어진 축에서 각각 변형 할건지.
☆요소 속성
flat: 자식 요소의 3d 변환을 사용하지 않음. 기본 값.
-preserve-3d: 자식 요소의 3D 변환 사용.
perspective 속성: '크기' | none(기본값); !원근감을 갖게 함!
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150<!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><style>section {display: flex;}[class^="box"] {width: 200px;height: 135px;/* background: green; */border: 1px solid black;margin: 40px;perspective: none;}.ex1:hover {/* x좌표로 20px 이동. 양수:오른쪽, 음수:왼쪽 */transform: translateX(20px);}.ex2:hover {/* y좌표로 20px 이동. 양수:오른쪽, 음수:왼쪽 */transform: translateY(20px);}.ex3:hover {/* x,y좌표로 20px 이동. 양수:오른쪽, 음수:왼쪽 */transform: translate(20px, 20px);}.ex4:hover {/* x좌표로 1.2배 확대 */transform: scaleX(1.2);}.ex5:hover {/* y좌표로 1.2배 확대 */transform: scaleY(1.2);}.ex6:hover {/* x,y좌표로 0.7배 축소 */transform: scale(0.7);}.ex7:hover {/* 오른쪽 회전: 양수 값 */transform: rotate(40deg);}.ex8:hover {/* 왼쪽 회전: 음수 값 */transform: rotate(-40deg);}.ex9:hover {/* 3d 회전 */transform: rotate3d(-2.5, 1.2, -1.5, 45deg);}.bus {transform: rotateZ(10deg);}.ex10 .bus {transform-origin: left top;}.ex11 .bus {transform-origin: right top;}.ex12 .bus {transform-origin: right bottom;}</style></head><body><section><div class="box1"><div class="ex1"><img src="images/bus.jpg"> </div></div><div class="box2"><div class="ex2"><img src="images/bus.jpg"></div></div><div class="box3"><div class="ex3"><img src="images/bus.jpg"> </div></div></section><section><div class="box1"><div class="ex4"><img src="images/bus.jpg"> </div></div><div class="box2"><div class="ex5"><img src="images/bus.jpg"></div></div><div class="box3"><div class="ex6"><img src="images/bus.jpg"> </div></div></section><section><div class="box1"><div class="ex7"><img src="images/bus.jpg"> </div></div><div class="box2"><div class="ex8"><img src="images/bus.jpg"></div></div><div class="box3"><div class="ex9"><img src="images/bus.jpg"> </div></div></section><section><div class="box1"><div class="ex10"><img src="images/bus.jpg" class="bus"> </div></div><div class="box2"><div class="ex11"><img src="images/bus.jpg" class="bus"></div></div><div class="box3"><div class="ex12"><img src="images/bus.jpg" class="bus"> </div></div></section><section><div class="box1"><div class="bg"><img src="images/bus.jpg" class="bus"> </div></div><div class="box2"><div class="bg"><img src="images/bus.jpg" class="bus"></div></div></section></section></body></html>cs #display: 블록레벨(한줄 다 차지하는 요소들), 인라인 레벨(한줄에 같이 있는 요소들/남는 공간있을 수 있음)
요소들을 바꾸어 배치(문서 레이아웃에 쓰임)
*block: 인라인요소를 블록레벨로
☆블럭요소 (div, h1~h6, p, ul, ol, li, dl, dt, dd, address)
-크기(width,height) 지정 가능.
-크기 미지정시 가로는 100%, 세로는 내용만큼 내려간다.
-마진, 패딩 상하좌우 적용 가능
-margin: 0 auto; 로 가운데 정렬
한 줄을 차지하지만 inline처럼 할려면 float로 옆으로 배치하면 된다.
*inline: 블록요소를 인라인요소로
☆텍스트취급 (a, span, em, strong, labelm, b, i, u)
-크기 지정 불가능
-크기는 가로,세로 모두 내용만큼의 크기만 가짐
-마진, 패딩은 좌우로만 가능(글자는 좌우로 배치되니까)
-요소 사이에 4px 간격이 생긴다.
-text-align: center; 로 가운데 정렬
*inline-block: 인라인+블록요소(한줄에 같이 있는 요소들/공간을 다 활용하여 배치)
☆텍스트취급(+블록요소)
-크기(width,height) 지정 가능.
-크기 미지정시 브라우저에 의해 정해진 기본 크기.
-마진, 패딩 상하좌우 적용 가능
-요소 사이에 4px 간격이 생긴다.
-text-align: center; 로 가운데 정렬
*none: 값 없음
#float: 웹 요소를 문서 위에 떠 있게 만듬
떠 있기 때문에 float: left; 로 이어서 박스에 값을 넣을 시 차례로 옆에 붙지만
중간에 값을 안 넣은 박스는 맨 왼쪽에 붙는다.
*left: 왼쪽에 배치
*right: 오른쪽에 배치
*none:좌우어느쪽에도 배치하지 않음(기본값)
* table: 테이블태그의 속성같은 느낌.
자식요소에 table과 width: 100%를 넣는다면 부모요소만큼 내용물이 꽉차게 된다.
그 table 요소 밑에 table-row 를 넣는다면 table 행이 되는것이고 또 그 밑에
table-cell 을 넣으면 table 열이 되는것이다. 즉, 형태로 만들어준다.
#clear
float는 작성하지 않아도 다음 요소들에게도 전달되기 때문에 clear로 해제해야 한다.
*left: 왼쪽 해제
*right: 오른쪽 해제
*both: 양쪽 해제
'HTML&CSS' 카테고리의 다른 글
HTML에 대한 이해_210406(화) (0) 2021.07.21 css태그정리:transition등_210402(금) (0) 2021.07.21 css태그정리:포지셔닝_210331(수) (0) 2021.07.21 css태그정리_210330(화) (0) 2021.07.21 HTML강의(visual studio code), 기초태그_210329(월) (0) 2021.07.21