html과 css, js만을 사용해서 구성을 하였다.
버튼의 상태에서 따라서 조명을 끄고 키는 것을 구현하였고
opacity와 transaction을 설정하여서 입체감있게 작동을 하게 만들었다.
git링크 : https://github.com/HoJin-jjimgo/channel_Lamp
이 부분이 가장 중요하다
그러기 떄문에 전체 사진 보다는 부분적으로 작성해 볼것이며 Html과 비교해가면서 확인하는 것이 좋을 것같다.
*
부분은 누구나 하는 설정이다
hero
부분도 크게 어렵지 않은 설정이다.
positon:relative
값을 주었는데 왜 주는지 모르겠어 가지고 그냥 삭제를 하였다.
화면에서 메뉴칸을 담당하고 있는 부분이다.
nav
기본적으로 flex로 지정을 해줌으로써 안에 있는 태그값을 가로로 설정해 주었다.
img
파일들을 불러 온뒤에 그냥 크기정도만 설정해 주었다.
ul
서로 공백값이 일정해야 하기 떄문에 flex를 1로 설정을 해주었고 오른쪽부터 보여야 하기떄문에 오른쪽 정렬을 해주었다.
li
li를 사용하게 되면 점
이 보이기 떄문에 그 점
을 없애주기 위해서 style을 none로 설정 하였고 세로로 정렬이 되기 떄문에 display또한 설정을 해주었다.
a
a태그를 사용 하게 되면 보통 텍스트 이런식으로 밑줄이 있게 되기 떄문에 그것을 삭제해 주고자 text-decoration을 설정해 주었다.
button
그러게 어려운 코드는 없고 후에 cursor, transition, ouline정도만 다루어 보겠다,
span
버튼안에 있는 동그라미 버튼이다.
일단 display를 block를 주어서 사각형으로 만들어 주었고 이후 radius를 주어서 동그라미로 만들어 주었다
이미지파일 조명과 빛을 다루고 있는 부분이다.
container
position자체를 absolute로 하여서 원하는 위치에 둘수 있게 하였다.
light
lamp같은 경우에는 단순히 전체를 담당하게 하였지만 light는 아래에 위치해야 하기떄문에 마찬가지로 position을 수정하였다.
opacity, transform 등은 후에 다루어 보겠다.
글자는 단순히 영역의 크기정도만 설정해 주었다.
a
마찬가지로 밑줄을 제거해 주었고 색깔 크기 등을 설정해 주었다.
동적 작업이 별로 없기 떄문에 일단 html안에 js를 입력을 해주었다.
내가 바꿔야 하는 값은 버튼을 누를시에 빛이 켜져야 하기 떄문에
btn, light
에 값을 가져 왔다.
이후 button에 있는 이벤트함수를 만들어 주었다.
toggle
함수는 간단하다.
()
안에 있는 값이 없다면 추가해주고 있다면 삭제해주는 역할을 하고 있다.이렇게 설정해주면 button
의 초기값에는 active가 없기떄문에 버튼을 누르게 되면 active class가 추가가 되는 로직이다.
active로직은 간단하다 그냥 색을 초록색으로 변하게 하는 것이다.
이떄 중요한 점은 transition
이다.
나같은 경우에는 1초 이기 떄문에 1초동안 서서히 버튼의 색이 바뀐다.
button
안에 있는 span
값도 바뀌어야 하기 떄문에 transition
을 지정해 준것을 알수가 있다.
on
class는 간단하다 선명도 : opacity
를 1로 바꾸어 주는 역할이다.
transform
cursor
display: inline-block
inline
-> 줄바꿈이 없는 태그들inline
태그들에게 width와 height등과 같이 속성의 상하 간격을 가능하게 해준다.inline
태그들의 간격은 조절할수 없다.참고 링크. https://www.daleseo.com/css-display-inline-block/
outline