.txt-hide {
position: absolute;
clip: rect(0 0 0 0);
width: 1px;
height: 1px;
margin: -1px;
overflow: hidden;
}
.labl-hold::before {
display: inline-block;
content: "";
width: 22px;
height: 22px;
vertical-align: -5px;
background-image: url("images/icon_check_empty.png");
}
.inp-hold:checked + .labl-hold::before {
background-image: url("images/icon_check.png");
}
.inp-hold:focus + .labl-hold::before {
outline: 2px solid #000;
}
select 박스의 경우 역시 스타일이 까다롭기 때문에 차라리 해당 요소를 사용하지 않는 방향으로 제작이 진행
<h2>셀렉트 박스 만들기</h2>
<button class="btn-select">당신의 에스파 최애 맴버는??</button>
<ul class="list-member">
<li><button type="button">카리나</button></li>
<li><button type="button">지젤</button></li>
<li><button type="button">닝닝</button></li>
<li><button type="button">윈터</button></li>
</ul>
<script>
const btn = document.querySelector('.btn-select');
const list = document.querySelector('.list-member');
btn.addEventListener('click', () => {
list.classList.toggle('on');
});
list.addEventListener('click', (event) => {
if (event.target.nodeName === "BUTTON") {
btn.textContent = event.target.textContent;
list.classList.remove('on');
}
});
</script>
디자인적으로는 보이지 않지만 스크린리더나 브라우저를 위해 정보를 전달하는 텍스트를 html 곳곳에 숨겨두는 방법
.ir_pm{
display:block;
overflow:hidden;
Font-size:1px;
line-height:0;
text-indent:-9999px;
}
.ir_pm{
display:block;
overflow:hidden;
font-size:1px;
line-height:0;
color:transparent;
/* transparent 키워드는 IE9부터 사용 가능하기 때문에 PC에서는 빠져있습니다.
https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#transparent */
}
.screen_out {
overflow: hidden;
position: absolute;
width: 0;
height: 0;
line-height: 0;
text-indent: -9999px;
}
.ir_wa{
display:block;
overflow:hidden;
position:relative;
z-index:-1;
width:100%;
height:100%
}
.blind {
position: absolute;
clip: rect(0 0 0 0);
width: 1px;
height: 1px;
margin: -1px;
overflow: hidden;
}
.blind {
position: absolute;
clip: rect(0 0 0 0);
width: 1px;
height: 1px;
margin: -1px;
overflow: hidden;
}
여러가지의 이미지를 하나의 이미지 파일안에 배치하여 이미지로드 부담을 줄이는 방법
특정한 시야 거리에서 인간의 눈으로는 화소를 구분할 수 없는 화소 밀도(300 PPI가 넘을 경우)를 가진 애플 LCD 제품의 브랜드 이름
일반디스플레이와 레티나 디스플레이의 차이점
레티나(고해상도 화면)로 넘어오면서 논리픽셀(css에서 표현하는 화소의 기본 단위)과 물리픽셀(디바이스가 실제로 처리할 수 있는 화소의 기본 단위)의 차이가 발생
브라우저는 css에서 정의한 픽셀만큼 이미지를 렌더링 해야하기 때문에 원래는 물리픽셀에 맞게 렌더링된 이미지가 논리픽셀 만큼 커져버리게 됨
1.화면에 우리가 그리고자 하는 사이즈의 2배 되는 이미지를 준비함
2.2배되는 이미지에 background-size를 너비/2,높이/2해서 압축시킴