지난 일주일간 배운 CSS와 HTML을 한 번 공유해볼까 합니다. 혹시 수정이 필요한 것이 있다면 알려주시기바랍니다!
aria-hidden="true"
를 사용하면 시각적으로는 보이지만 스크린 리더기는 이를 인식하지 못합니다.
반대로 스크린 리더기는 읽을 수 있지만 시각적으로 보이지 않게 하려면 밑의 코드처럼 구현해야합니다.
작은 점으로 만들되 스크린 리더기는 읽을수있도록 1px을 줍니다. overflow:hidden
을 통해 이 작은점도 시각적으로 보이지않게 하면 스크린 리더기에도 읽히고 시각적으로도 보이지 않게 됩니다.
clip-path
에 모두 0을 주며 정중앙을 가리켜 보이지 않게 됩니다. 하지만 구형 브라우저에서는 사용이 안 될수도 있으니 clip도 함께 사용해줍니다 (브라우저 호환성 이슈)
a11y
는 accessibility라는 뜻입니다.
.a11y-hidden {
width: 1px;
height: 1px;
margin: -1px;
clip-path: polygon(0 0, 0 0, 0 0);
clip-path: inset(50%);
clip: rect(0, 0, 0, 0);
clip: rect(0 0 0 0);
overflow: hidden;
}
header
에 키보드로 접근했을때만 나타나고 그 이외에는 화면상에 보이지않도록 구현해야합니다.
위와 유사하게 clip-path
와 overflow
를 사용해 평소에는 가려주다가 focus를 받으면 position
을 fixed
에서 static
으로 바꾸어주며 해당 기능을 보여줍니다.
z-index
는 밑에 깔린 요소를 위로 끌어올릴때 사용할 수 있습니다.
left
와 right
모두 0을 주거나 width:100%;
를 주게 되면 양쪽으로 늘려 화면 전체 너비를 가지게 됩니다.
outline offset
은 마이너스값을 주며 보기 편한 상태로 만들어줬습니다.
.skip-navigation{
position: fixed;
left: 0;
right: 0;
width: 100%;
background-color: black;
text-align: center;
z-index: 10;
}
.skip-navigation a{
width: 1px;
height: 1px;
margin: -1px;
clip-path: polygon(0 0, 0 0, 0 0);
clip-path: inset(50%);
clip: rect(0, 0, 0, 0);
clip: rect(0 0 0 0);
overflow: hidden;
padding: 15px;
color: #fff;
font-size: 0.875rem;
}
.skip-navigation a:focus{
position: static;
width: auto;
height: auto;
clip: initial;
clip-path: initial;
margin: initial;
display: inline-block;
outline-offset: -10px;
}
.member-service {
list-style: none;
margin:0;
padding-left: 0;
}
.member-service li:nth-child(n+2)::before {
content: ":";
}
.sub-menu {
position: absolute;
list-style: none;
white-space: nowrap;
}
#ccc
가 callback 색상입니다..term{
background: #ccc linear-gradient(#ccc, #eee);
}
position:relative
를 주고 자식 요소에 absolute
를 주면서 마크업 순서가 뒤에 배치되었더라도 위로 올릴 수 있습니다..board .more{
position: absolute;
top: -8px;
right: -9px;
padding: 8px;
}
.event-button-group{
height: 18px;
position: absolute;
top:0;
right:0;
overflow: hidden;
}
background-position
을 이용해 사용하는 것 입니다. 이를 통해 계속 이미지를 다운받지않아 성능이 향상될 수 있습니다..event-button-group button{
width: 19px;
height: 0;
padding: 18px 0 0 0;
border:0;
background-image: url(./images/back_forward.png);
background-repeat: no-repeat;
}
.event-button-next{
background-position: -35px 0;
}