-
Notifications
You must be signed in to change notification settings - Fork 1
구현 과제 - 로그인/회원가입 모달 - 예진 #17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
YennieJ
wants to merge
16
commits into
main
Choose a base branch
from
11-yeaJin
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
16 commits
Select commit
Hold shift + click to select a range
41d1620
구현 과제 - 로그인/회원가입 모달 - 예진
YennieJ 31009de
loginCSS
YennieJ 0d8542f
닫기버튼 위치 변동, button=>a
YennieJ fb49b9a
add reset css img vertical-align
YennieJ 612bbf2
닫기버튼 포지션수정,width px값 최소화,소셜로그인 아이콘 백그라운드이미지로 수정
YennieJ 6cd5e8f
a href 수정
YennieJ 774e90d
CSS를 위해서 img를 svg로 변경
YennieJ c732105
버튼,링크에 hover,focus-visible 추가
YennieJ 4ceb3ee
focus-visible
YennieJ 80b0fbe
a,button flex삭제,display:block;과margin으로 간격 조절
YennieJ baa1b73
form>div =>form>fieldset 명확한 시맨틱 태그 사용
YennieJ 580f7c4
fieldset css 설정
YennieJ 8b5217a
웹 접근성을 위한 css
YennieJ 72c9a97
h1 내용 수정
YennieJ bde8cfd
안쓰는 스크립트 지우기
YennieJ 970ab3e
기본 반응형 min,max-width로 구현
YennieJ File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file was deleted.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,62 @@ | ||
| /* Reset CSS */ | ||
| body { | ||
| margin: unset; | ||
| } | ||
| ul { | ||
| padding: unset; | ||
| margin: unset; | ||
| list-style: none; | ||
| } | ||
| h1, | ||
| p { | ||
| margin: unset; | ||
| font: unset; | ||
| } | ||
| a { | ||
| color: unset; | ||
| text-decoration: unset; | ||
| outline: unset; | ||
| } | ||
| input { | ||
| padding: unset; | ||
| } | ||
| button { | ||
| font: inherit; | ||
| border: none; | ||
| background: none; | ||
| padding: unset; | ||
| cursor: pointer; | ||
| } | ||
|
|
||
| img { | ||
| vertical-align: top; | ||
| } | ||
|
|
||
| fieldset { | ||
| margin: unset; | ||
| border: unset; | ||
| padding: unset; | ||
| } | ||
|
|
||
| /* CSS */ | ||
| @font-face { | ||
| font-family: "SpoqaHanSansNeo-Regular"; | ||
| src: url("https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2108@1.1/SpoqaHanSansNeo-Regular.woff") | ||
| format("woff"); | ||
| font-weight: normal; | ||
| font-style: normal; | ||
| } | ||
|
|
||
| body { | ||
| background: #f2f2f2; | ||
| font-family: "SpoqaHanSansNeo-Regular"; | ||
| } | ||
|
|
||
| .a11y-hidden { | ||
| position: absolute; | ||
| width: 1px; | ||
| height: 1px; | ||
| margin: -1px; | ||
| overflow: hidden; | ||
| clip-path: polygon(0 0, 0 0, 0 0); | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,40 @@ | ||
| /* CSS */ | ||
|
|
||
| .container { | ||
| min-width: 0; | ||
| max-width: 500px; | ||
| padding: 30px; | ||
| margin: 280px auto 0; | ||
| border: 1px solid #c4c4c4; | ||
| border-radius: 5px; | ||
|
|
||
| background: #fff; | ||
|
|
||
| text-align: center; | ||
| } | ||
|
|
||
| .header { | ||
| margin-bottom: 28px; | ||
| } | ||
| .text { | ||
| margin-bottom: 32px; | ||
| } | ||
|
|
||
| .login-button { | ||
| display: block; | ||
|
|
||
| padding: 17px 0 15px; | ||
|
|
||
| border-radius: 5px; | ||
| background: #2f80ed; | ||
|
|
||
| color: #fff; | ||
| font-size: 22px; | ||
| font-weight: 700; | ||
| } | ||
|
|
||
| .login-button:hover, | ||
| .login-button:focus-visible { | ||
| outline: 3px solid #2668be; | ||
| outline-offset: 1px; | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,246 @@ | ||
| body { | ||
| display: flex; | ||
| height: 100vh; | ||
| } | ||
|
|
||
| .login-container { | ||
| position: relative; | ||
|
|
||
| min-width: 0; | ||
| width: 520px; | ||
| margin: auto; | ||
|
|
||
| border: 1px solid #c4c4c4; | ||
| border-radius: 10px; | ||
|
|
||
| background: #fff; | ||
| } | ||
|
|
||
| /* 로그인 헤더 */ | ||
| .login-header { | ||
| padding: 20px 0 18px; | ||
| border-bottom: 1px solid #c4c4c4; | ||
|
|
||
| text-align: center; | ||
| font-weight: 500; | ||
| } | ||
|
|
||
| /* 로그인 메인 */ | ||
| .login-main { | ||
| padding: 26px 24px 30px; | ||
| } | ||
| .login-main > p { | ||
| font-size: 20px; | ||
| font-weight: 500; | ||
| margin-bottom: 24px; | ||
| } | ||
|
|
||
| /* 아이디,비밀번호 input */ | ||
| .login-input-group { | ||
| margin: 10px 0 16px; | ||
| } | ||
| .login-input { | ||
| width: 100%; | ||
| padding: 15px 16px; | ||
|
|
||
| border: 1px solid #c4c4c4; | ||
| border-radius: 5px; | ||
|
|
||
| font-size: 16px; | ||
|
|
||
| box-sizing: border-box; | ||
| } | ||
|
|
||
| /* 아이디,비밀번호 경고 */ | ||
| [class^="warnning"] { | ||
| display: none; | ||
|
|
||
| color: #f4492e; | ||
| font-size: 14px; | ||
| font-weight: 400; | ||
| } | ||
| .warnning-id { | ||
| margin: 6px 0 0 4px; | ||
| } | ||
| .warnning-user { | ||
| margin: 10px 0 0 4px; | ||
| } | ||
|
|
||
| /* 로그인 상태 유지 */ | ||
| .login-state { | ||
| margin: 0 0 20px 4px; | ||
|
|
||
| color: #767676; | ||
| font-weight: 500; | ||
| } | ||
|
|
||
| /* 로그인 상태 유지 체크박스 */ | ||
| .login-state label { | ||
| cursor: pointer; | ||
| } | ||
| .login-state input[type="checkbox"] + label::before, | ||
| .login-state input[type="checkbox"]:checked + label:before { | ||
| content: ""; | ||
|
|
||
| display: inline-block; | ||
|
|
||
| width: 22px; | ||
| height: 22px; | ||
| margin-right: 8px; | ||
|
|
||
| background-repeat: no-repeat; | ||
| background-position: 50%; | ||
|
|
||
| vertical-align: bottom; | ||
| } | ||
| .login-state input[type="checkbox"] + label:before { | ||
| background-image: url("../imgs/login-checkbox.svg"); | ||
| } | ||
| .login-state input[type="checkbox"]:checked + label:before { | ||
| background-image: url("../imgs/login-checked.svg"); | ||
| } | ||
|
|
||
| /* focus-visible */ | ||
| .login-state input[type="checkbox"]:focus-visible + label::before { | ||
| border-radius: 50%; | ||
| box-shadow: 0 0 0 2px #2668be; | ||
| } | ||
| .login-state input[type="checkbox"]:focus-visible:checked + label:before { | ||
| border-radius: 50%; | ||
| box-shadow: 0 0 0 2px #10315c; | ||
| } | ||
|
|
||
| /* 로그인 버튼 */ | ||
| .login-button { | ||
| width: 100%; | ||
| padding: 14px 0; | ||
| margin-bottom: 20px; | ||
|
|
||
| border-radius: 5px; | ||
| background: #2f80ed; | ||
|
|
||
| color: #fff; | ||
| font-size: 18px; | ||
| font-weight: 700; | ||
| } | ||
| .login-button:hover, | ||
| .login-button:focus-visible { | ||
| outline: 3px solid #2668be; | ||
| outline-offset: 1px; | ||
| } | ||
|
|
||
| /* 회원가입,아이디/비밀번호 찾기 */ | ||
| .find-user-button-box { | ||
| text-align: center; | ||
| } | ||
| .find-user-button-box a { | ||
| color: #767676; | ||
| font-size: 14px; | ||
| } | ||
| .find-user-button-box span { | ||
| display: inline-block; | ||
| color: #767676; | ||
| margin: 0 12px; | ||
| } | ||
| .find-user-button-box a:hover { | ||
| text-decoration: underline; | ||
| text-underline-offset: 3px; | ||
| } | ||
| .find-user-button-box a:focus-visible { | ||
| outline: 2px solid #767676; | ||
| outline-offset: 2px; | ||
| } | ||
|
|
||
| /* 또는 */ | ||
| .br { | ||
| display: flex; | ||
| gap: 13px; | ||
| align-items: center; | ||
| justify-content: center; | ||
| color: #767676; | ||
| font-size: 14px; | ||
| } | ||
| .br::before, | ||
| .br::after { | ||
| content: ""; | ||
| display: inline-block; | ||
| background-color: #c4c4c4; | ||
| width: 210px; | ||
| height: 1px; | ||
| } | ||
|
|
||
| /* social login */ | ||
| .social-login-container { | ||
| padding: 19px 24px 25px; | ||
| } | ||
|
|
||
| .social-login-group li:not(:last-of-type) { | ||
| margin-bottom: 10px; | ||
| } | ||
|
|
||
| .social-login-button { | ||
| display: block; | ||
|
|
||
| padding: 15px 0; | ||
| border-radius: 5px; | ||
|
|
||
| color: #767676; | ||
| text-align: center; | ||
|
|
||
| background-repeat: no-repeat; | ||
| background-size: 28px; | ||
| background-position: 12px center; | ||
| } | ||
| .google { | ||
| border: 1px solid #767676; | ||
| background-image: url(../imgs/google.svg); | ||
| } | ||
| .facebook { | ||
| border: 1px solid #2d9cdb; | ||
| background-image: url(../imgs/facebook.svg); | ||
| } | ||
| .naver { | ||
| border: 1px solid #00bf18; | ||
| background-image: url(../imgs/naver.svg); | ||
| } | ||
| .kakao { | ||
| border: 1px solid #f2c94c; | ||
| background-image: url(../imgs/kakao.svg); | ||
| } | ||
|
|
||
| .google:hover, | ||
| .google:focus-visible { | ||
| outline: 3px solid #767676; | ||
| outline-offset: 1px; | ||
| } | ||
| .facebook:hover, | ||
| .facebook:focus-visible { | ||
| outline: 3px solid #2d9cdb; | ||
| outline-offset: 1px; | ||
| } | ||
| .naver:hover, | ||
| .naver:focus-visible { | ||
| outline: 3px solid #00bf18; | ||
| outline-offset: 1px; | ||
| } | ||
| .kakao:hover, | ||
| .kakao:focus-visible { | ||
| outline: 3px solid #f2c94c; | ||
| outline-offset: 1px; | ||
| } | ||
|
|
||
| /* 로그인 닫기 버튼 위치 */ | ||
| .login-close-button { | ||
| position: absolute; | ||
| top: 6px; | ||
| right: 8px; | ||
|
|
||
| padding: 12px 14px; | ||
| } | ||
| .login-close-button:focus-visible { | ||
| outline: 2px solid gray; | ||
| outline-offset: 2px; | ||
| } | ||
| .login-close-button img { | ||
| vertical-align: middle; | ||
| } | ||
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이미지 2개를 사용하여 커스텀 체크박스를 구현하셨네요.
이미지 크기가 작기도 하고 성능 상으로는 지금 당장 눈에 보이는 차이가 없겠지만
이미지를 로드하고 렌더링이 늦어지는 이슈는 있습니다.
저는 체크가 안된 이미지 하나를 svg로 추출하여 class를 주고 체크가 되었을 때
fill과 stroke를 통해서 색상에 변화를 주었어요.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
멘토링 받은 내용,
체크박스는 흔히 이미지로 커스텀해서 사용하고 용량이 작아서 큰 문제는 없을것 같다고 하시네요👍
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
아하 맞아요.
체크박스는 용량이 작아서 이미지로 커스텀해서 사용해도 성능 이슈는 거의 없을 것 같아요. 👍