Search Effect04
find()를 이용하여 속성을 검색하면 설명 보여주기
결과
HTML 작성
CSS 속성과 설명은 스크립트로 넣기 위해서 HTML에서 뻈습니다.
소스 보기
<main id="main">
<div class="search__wrap">
<span>find()를 이용하여 속성을 검색하면 설명 보여주기</span>
<h1>CSS 속성 검색하기</h1>
<div class="search__box">
<label for="search">검색하기</label>
<input type="text" id="search" placeholder="CSS 속성 및 유형을 입력해주세요!">
</div>
<div class="search__desc">
속성을 검색하시면 설명이 표시됩니다.!!!
</div>
<div class="search__info">
<div>CSS 속성 갯수 : <span class="num">0</span></div>
</div>
<div class="search__list">
</div>
</div>
</main>
CSS 작성
전에 만들던 예제처럼 스타일을 꾸미고, 검색할 속성 박스만 디자인 해줍니다.
소스 보기
:root {
--htmlColor: #223547;
--cssColor: #56c785;
--javascriptColor: #7d56c7;
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: "NexonLv1Gothic";
/* color: #223547; */
}
*,
*:before,
*:after {
box-sizing: border-box;
}
a {
color: var(--htmlColor);
text-decoration: none;
}
li {
list-style: none;
}
strong {
color: #223547;
}
/* header */
#header {
}
#header nav {
margin: 10px;
}
#header nav ul {
}
#header nav li {
position: relative;
display: inline;
}
#header nav li a {
width: 30px;
height: 30px;
border: 1px solid var(--htmlColor);
border-radius: 50%;
display: inline-block;
text-align: center;
line-height: 30px;
font-family: "NexonLv1Gothic";
}
#header nav li.active a {
background-color: var(--htmlColor);
color: #fff;
}
#header nav li .sub {
position: absolute;
left: 0;
top: 35px;
width: 400px;
}
#header nav li .sub li a {
width: auto;
background-color: transparent;
color: var(--htmlColor);
border: 0;
text-align: left;
line-height: 1.2;
}
#header nav li .sub li.active a {
text-decoration: underline;
}
/* main */
#main {
margin: 50px 10px;
}
.search__wrap {
max-width: 1400px;
margin: 0 auto;
border: 3px solid var(--htmlColor);
border-radius: 20px;
background-color: #f1f3f6;
padding: 30px;
text-align: center;
}
.search__wrap > span {
font-size: 20px;
margin-bottom: 20px;
display: inline-block;
}
.search__wrap > h1 {
font-family: "Tmon";
color: var(--htmlColor);
font-size: 6vw;
margin-bottom: 10px;
}
.search__box {
margin-bottom: 20px;
}
.search__box label {
position: absolute;
clip: rect(0 0 0 0);
width: 1px;
height: 1px;
margin: -1px;
overflow: hidden;
}
.search__box input {
border: 2px solid var();
padding: 15px 40px;
width: 70%;
border-radius: 50px;
font-size: 20px;
}
.search__list li {
text-align: left;
line-height: 1.7;
}
.search__list li.hide {
display: none;
}
.search__list span {
display: inline-block;
padding: 10px 20px;
border: 1px solid var(--htmlColor);
border-radius: 50px;
margin: 5px;
transition: all 0.3s;
}
.search__list span:hover {
background-color: var(--htmlColor);
color: #fff;
cursor: pointer;
}
.search__list li {
}
.search__list li.show {
display: block;
}
.search__info {
text-align: right;
margin-bottom: 30px;
padding-bottom: 10px;
border-bottom: 2px dashed var(--htmlColor);
}
.search__info .type {
text-align: center;
margin-bottom: 10px;
}
.search__info .keyword {
text-align: center;
margin-bottom: 10px;
}
.search__info .keyword span {
border: 2px solid var(--htmlColor);
border-radius: 50px;
padding: 10px;
display: inline-block;
margin-bottom: 4px;
}
.search__info .keyword span:hover {
background-color: var(--htmlColor);
color: #fff;
cursor: pointer;
}
.search__desc {
padding: 20px 40px 20px 60px;
margin-bottom: 50px;
border-radius: 50px;
display: inline-block;
background-color: var(--htmlColor);
color: #fff;
background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='11' cy='11' r='8' stroke='%23fff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M16.5 16.958L21.5 21.958' stroke='%23fff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
background-repeat: no-repeat;
background-position: 22px 17px;
}
@media (max-width: 600px) {
.search__wrap {
padding: 20px;
}
.search__wrap > span {
font-size: 16px;
margin-bottom: 10px;
}
.search__wrap > h1 {
font-size: 44px;
}
.search__box input {
font-size: 16px;
padding: 12px 30px;
}
}
/* footer */
#footer {
text-align: center;
}
#footer a {
color: #000;
font-family: "NexonLv1Gothic";
padding-bottom: 50px;
}
#footer a:hover {
text-decoration: underline;
}
/* modal__wrap */
.modal__wrap {
}
.modal__btn {
position: fixed;
right: 20px;
bottom: 20px;
}
.modal__btn .btn__txt {
margin-left: 20px;
padding: 10px 20px;
display: inline-block;
color: #fff;
background: var(--htmlColor);
border: 3px solid #333;
border-radius: 5px;
box-shadow: 3px 3px #999;
cursor: pointer;
transition: all 0.3s ease-out;
}
.modal__btn .btn__txt:hover {
background-color: #dcdcdca9;
color: #000;
box-shadow: 3px 3px #444;
}
.modal__close {
cursor: pointer;
background-color: #f5f5f5;
padding: 10px 10px 7px 10px;
border-radius: 5px;
position: absolute;
right: 20px;
top: 20px;
/* visibility: hidden; */
}
.modal__close:hover {
background-color: #222;
color: #fff;
box-shadow: 2px 2px 20px #111;
}
.modal__close.show {
visibility: visible;
}
.modal__cont {
/* z-index: 6; */
z-index: 20;
display: flex;
font-size: 15px;
width: 100%;
height: 100vh;
background-color: rgba(0, 0, 0, 0.4);
position: fixed;
left: 0;
top: 0;
overflow-x: hidden;
align-items: center;
justify-content: center;
transform: scale(0);
/* visibility: hidden; */
}
.modal__box {
width: 70%;
margin: 0 auto;
background-color: #fff;
border-radius: 0.5rem;
background-color: #fff;
box-shadow: 0 10px 20px -5px hsl(180deg 2% 10%);
transform: scale(0);
}
.modal__box .title {
padding-inline: 1.5rem;
background-color: hsl(0 0% 13%);
display: flex;
align-items: center;
color: #fff;
height: 60px;
border-top-left-radius: 0.4rem;
border-top-right-radius: 0.4rem;
}
.modal__box .title .dot {
width: 15px;
height: 15px;
background-color: hsl(41 99% 59%);
display: inline-block;
border-radius: 50%;
position: relative;
margin-left: 30px;
}
.modal__box .title .dot::before {
content: "";
position: absolute;
left: 25px;
top: 0;
width: 15px;
height: 15px;
background-color: hsl(129 67% 47%);
border-radius: 50%;
}
.modal__box .title .puls {
cursor: pointer;
margin-left: 15px;
background-color: hsl(0 0% 24%);
padding: 0.5rem 0.5rem 0.3rem 0.5rem;
border-radius: 0.5rem;
}
.modal__box .title .dot::after {
content: "";
position: absolute;
right: 25px;
top: 0;
width: 15px;
height: 15px;
background-color: hsl(3 100% 67%);
border-radius: 50%;
}
.modal__box .title .tabs {
display: flex;
justify-content: flex-start;
margin-left: 40px;
}
.modal__box .title .tabs > div.active {
background-color: rgb(80, 80, 80);
}
.modal__box .title .tabs > div {
color: #ccc;
background-color: hsl(0 0% 20%);
padding: 0.35rem 0.8rem;
margin: 0.5rem;
display: flex;
align-items: center;
border-radius: 0.3rem;
cursor: pointer;
}
.modal__box .title .tabs > div em {
font-style: normal;
}
.modal__box .title .tabs > div .favicon {
margin-right: 0.4rem;
margin-top: 0.25rem;
}
.modal__box .title .tabs > div .close {
margin-left: 3rem;
}
.modal__box .title .tabs > div .close svg {
}
.modal__box .cont {
background-color: #2c2c2c;
height: 550px;
box-sizing: border-box;
border-bottom-left-radius: 0.5rem;
border-bottom-right-radius: 0.5rem;
overflow-y: auto;
}
.modal__box .cont > div {
display: none;
}
.modal__box .cont > div.active {
display: block;
height: 100%;
}
input[type="checkbox"] {
display: none;
}
/* 모달 애니메이션 */
.modal__cont.show {
/* visibility: visible; */
animation: forldOut forwards 0.7s ease;
}
.modal__cont.show .modal__box {
transform: scale(0);
animation: zoomOut 0.4s 0.5s ease forwards;
}
.modal__cont.show .modal__close {
animation: ClosOut 0.3s 1s ease forwards;
opacity: 0;
}
@keyframes forldOut {
0% {
transform: scaleX(0) scaleY(0.005);
}
50% {
transform: scaleX(1) scaleY(0.005);
}
100% {
transform: scale(1) scaleY(1);
}
}
@keyframes zoomOut {
0% {
transform: scale(0);
}
100% {
transform: scale(1);
}
}
@keyframes ClosOut {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
.modal__cont.show.hide {
/* visibility: visible; */
animation: forldIn backwards 0.3s 0.6s ease;
}
.modal__cont.show.hide .modal__box {
transform: scale(0);
animation: zoomIn 0.3s 0.3s ease backwards;
}
.modal__cont.show.hide .modal__close {
transform: scale(0);
animation: ClosIn 0.3s ease backwards;
}
@keyframes forldIn {
0% {
transform: scaleX(1) scaleY(1);
}
50% {
transform: scaleX(1) scaleY(0.005);
}
100% {
transform: scale(0) scaleY(0.005);
}
}
@keyframes zoomIn {
0% {
transform: scaleX(1);
}
100% {
transform: scale(0);
}
}
@keyframes ClosIn {
0% {
opacity: 1;
}
100% {
opacity: 0;
}
}
@media (max-width: 1100px) {
.modal__box {
width: 96%;
}
.modal__box .title .dot {
overflow: hidden;
display: none;
}
.modal__box .title .tabs {
margin-left: 0;
}
.modal__box .title .tabs > div .close {
display: none;
}
}
@media (max-width: 600px) {
.header {
width: 100%;
}
.modal__box {
width: 96%;
}
.modal__box .title .dot {
display: none;
}
.modal__box .title .tabs {
margin-left: 0;
}
.modal__box .title .tabs > div .close {
display: none;
}
}
@media (max-width: 480px) {
.header {
width: 100%;
}
.modal__box {
width: 96%;
}
.modal__box .title {
padding: 5px;
}
.modal__box .title .dot {
display: none;
}
.modal__box .title .tabs {
margin-left: 0;
}
.modal__box .title .tabs > div .close {
display: none;
}
.modal__box .title .tabs > div {
font-size: 12px;
}
.modal__box .title .puls {
display: none;
}
pre code.hljs {
margin-bottom: 0 !important;
}
}
@media (max-width: 800px) {
.intro_menu {
width: 90%;
padding: 14px;
}
.intro_menu li {
font-size: 16px;
}
.intro_menu ul li a {
font-size: 16px;
}
}
JS 작성
스크립트로 속성과 설명들을 집어넣은뒤, map 메서드를 이용해 출력합니다. 그리고 설명이 나오는 부분은 속성 이름들만 있는 버튼을 만들것이므로 요소들의 이름만 따오도록 합니다. ex) cssProperty.name -> accent-color(cssProperty는 for문으로 감싸서 element값이 들어갈 자리) 만들어둔 서치박스에 단어를 입력했을 때 단어의 이름과 cssProperty 안의 단어의 name과 확인 후 동일할 때 그 name의 desc(설명)을 출력하도록 하는 findProperty함수를 만들었습니다. 그 후 서치박스에 함수를 넣어서 실행하였습니다. 추가로 디자인 해준 속성 이름들만 나오는 박스를 클릭하면 동일하게 함수가 실행 되어 desc(설명)이 출력되도록 만들었습니다.
const cssProperty = [
{ name: "accent-color", desc: " 요소의 강조 색상을 지정합니다. " },
{ name: "align-content", desc: " 콘텐츠 사이와 콘텐츠 주위 빈 공간을 플렉스 박스'의 교차축 또는 그리드의 블록 축을 따라 배치하는 방식을 결정합니다." },
{ name: "align-items", desc: " 교차축에서 아이템 정렬 하는 속성입니다. 주로 flex에서 item들을 정렬할 때 사용됩니다." },
{ name: "align-self", desc: " 특정 item의 정렬을 따로 하고 싶을 때 사용합니다." },
{ name: "all", desc: " CSS 사용자 지정 속성을 제외한 모든 속성을 초기화합니다. 초깃값, 상속값, 아니면 다른 스타일시트 출처의 값로 설정할 수 있습니다." },
{ name: "animation", desc: " 애니메이션과 관련된 속성을 일괄적로 처리합니다." },
{ name: "animation-delay", desc: " 애니메이션 지연 시간을 설정합니다." },
{ name: "animation-direction", desc: " 애니메이션 움직임 방향을 설정합니다." },
{ name: "animation-duration", desc: " 애니메이션 움직인 시간을 설정합니다." },
{ name: "animation-fill-mode", desc: " 애니메이션이 끝난 후의 상태를 설정합니다." },
{ name: "animation-iteration-count", desc: " 애니메이션의 반복 횟수를 설정합니다." },
{ name: "animation-name", desc: " 애니메이션 keyframe 이름을 설정합니다." },
{ name: "animation-play-state", desc: " 애니메이션 진행상태를 설정합니다." },
{ name: "animation-timeline", desc: " 애니메이션의 타임라인을 설정합니다." },
{ name: "animation-timing-function", desc: " 애니메이션 움직임의 속도를 설정합니다." },
{ name: "appearance", desc: " 운영체제 및 브라우저에 기본적로 설정되어 있는 테마를 기반로 요소를 표현한다." },
{ name: "aspect-ratio", desc: " 요소의 크기를 비율대로 조정할 수 있게 한다." },
{ name: "backdrop-filter", desc: " 요소 뒤 영역에 흐림이나 색상 시프트 등 그래픽 효과를 적용할 수 있는 속성입니다." },
{ name: "backface-visibility", desc: " 요소의 뒷쪽에서 앞면이 보이게 할지 정하는 속성입니다." },
{ name: "background", desc: " 백그라운드 속성을 일괄적로 설정합니다. " },
{ name: "background-attachment", desc: " 배경 이미지의 고정 여부를 설정합니다." },
{ name: "background-blend-mode", desc: " 배경을 혼합했을 때 그래픽 효과를 설정합니다." },
{ name: "background-clip", desc: " 백그라운드 이미지의 위치 기준점을 설정합니다." },
{ name: "background-color", desc: " 백그라운드 색을 설정합니다." },
{ name: "background-image", desc: " 백그라운드 이미지 속성을 설정합니다." },
{ name: "background-origin", desc: " 백그라운드 이미지의 위치 기준점을 설정하기 위한 속성입니다." },
{ name: "background-position", desc: " 백그라운드 이미지의 위치 영역을 설정합니다." },
{ name: "background-position-x", desc: " 백그라운드 이미지의 X축위치 영역을 설정합니다." },
{ name: "background-position-y", desc: " 백그라운드 이미지의 Y축위치 영역을 설정합니다." },
{ name: "background-repeat", desc: "백그라운드 이미지 반복 여부를 설정합니다." },
{ name: "background-size", desc: " 백그라운드 이미지 사이즈를 설정합니다." },
{ name: "block-size", desc: " 블럭의 크기를 지정합니다." },
{ name: "border", desc: " 테두리 속성을 일괄적로 설정합니다." },
{ name: "border-block", desc: " 보더블럭 속성을 지정합니다. " },
{ name: "border-block-color", desc: " 보더블럭 색상을 지정합니다." },
{ name: "border-block-end", desc: " 보더블럭 끝부분을 설정합니다." },
{ name: "border-block-end-color", desc: " 보더블럭 끝부분 색상을 설정합니다." },
{ name: "border-block-end-style", desc: " 보더블럭 끝부분 스타일을 설정합니다." },
{ name: "border-block-end-width", desc: " 보더블럭 끝부분 너비를 설정합니다." },
{ name: "border-block-start", desc: " 보더블럭의 시작부분을 설정합니다." },
{ name: "border-block-start-color", desc: " 보더블럭 시작부분을 설정합니다." },
{ name: "border-block-start-style", desc: " 보더블럭 시작부분 스타일을 설정합니다." },
{ name: "border-block-start-width", desc: " 보더블럭 시작부분 너비값을 설정합니다." },
{ name: "border-block-style", desc: " 보더블럭 스타일을 설정합니다." },
{ name: "border-block-width", desc: " 보더블럭의 너비값을 지정합니다." },
{ name: "border-bottom", desc: " 아래쪽 속성을 일괄적로 설정합니다." },
{ name: "border-bottom-color", desc: " 테두리 아래쪽 색 속성을 설정합니다." },
{ name: "border-bottom-left-radius", desc: " 아래 왼쪽 모서리 굴곡을 설정합니다." },
{ name: "border-bottom-right-radius", desc: " 아래 오른쪽 모서리 굴곡을 설정합니다." },
{ name: "border-bottom-style", desc: " 테두리 아래쪽 스타일 속성을 설정합니다." },
{ name: "border-bottom-width", desc: " 테두리 아래쪽 두께 속성을 설정합니다." },
{ name: "border-collapse", desc: " 테이블 cell 테두리의 겹침 속성을 설정한다." },
{ name: "border-color", desc: " 테두리의 색상을 지정합니다. " },
{ name: "border-end-end-radius", desc: " 속성은 요소의에 따라 물리적 경계 반경에 매핑하는 요소에 논리적 경계 반경 정의 writing-mode , direction , 및 text-orientation . 이것은 텍스트 방향 및 쓰기 모드에 관계없이 작업 할 스타일을 작성할 때 유용 합니다 ." },
{ name: "border-end-start-radius", desc: " 이 속성은 요소의 블록 끝과 인라인 시작면 사이의 모서리에 영향을줍니다." },
{ name: "border-image", desc: " 테두리의 이미지를 지정합니다. " },
{ name: "border-image-outset", desc: " 테두리를 벗어나는 이미지 양을 지정." },
{ name: "border-image-repeat", desc: " 원본 이미지의 모서리 영역을 요소의 테두리 이미지 크기에 맞춰 조절할 때 사용할 방법을 지정합니다." },
{ name: "border-image-slice", desc: " border-image-source로 설정한 이미지를 여러 개의 영역로 나눕니다." },
{ name: "border-image-source", desc: " 요소의 테두리 이미지로 사용할 원본 이미지를 지정합니다." },
{ name: "border-image-width", desc: " 요소의 테두리 이미지로 사용할 원본 이미지를 지정합니다." },
{ name: "border-inline", desc: " 스타일 시트에서 하나의 장소에서 각각의 논리적 인라인 border 속성 값을 설정합니다." },
{ name: "border-inline-color", desc: " 논리적 인라인 테두리의 색상을 정의합니다." },
{ name: "border-inline-end", desc: " 요소의 논리적 인라인 엔드 테두리 폭을 정의합니다." },
{ name: "border-inline-end-color", desc: " 요소의 쓰기 모드, 방향성, 텍스트 방향에 따라 물리적 테두리 색상에 매핑하는 요소의 논리적 인라인 엔드 테두리 색상을 정의합니다." },
{ name: "border-inline-end-style", desc: " 요소의 쓰기 모드, 방향성, 텍스트 방향에 따라 물리적 테두리 스타일에 매핑하는 요소의 논리적 인라인 끝 테두리 스타일을 정의합니다." },
{ name: "border-inline-end-width", desc: " 요소의 쓰기 모드, 방향성, 텍스트 방향에 따라 폭 물리적 경계에 매핑하는 요소의 논리적 인라인 엔드 테두리 폭을 정의합니다." },
{ name: "border-inline-start", desc: " 스타일 시트에서 하나의 장소에서 각각의 논리적 인라인 시작 border 속성 값을 설정합니다." },
{ name: "border-inline-start-color", desc: " 요소의 쓰기 모드, 방향성, 텍스트 방향에 따라 물리적 테두리 색상에 매핑하는 요소의 논리적 인라인 시작 테두리 색상을 정의합니다." },
{ name: "border-inline-start-style", desc: " 속성은 요소의 쓰기 모드, 방향성, 텍스트 방향에 따라 물리적 테두리 스타일에 매핑하는 요소의 논리적 인라인 시작 테두리 스타일을 정의합니다." },
{ name: "border-inline-start-width", desc: " 속성은 요소의 쓰기 모드, 방향성, 텍스트 방향에 따라 폭 물리적 경계에 매핑하는 요소의 논리적 인라인 시작 테두리 폭을 정의합니다." },
{ name: "border", desc: " 요소의 쓰기 모드, 방향성, 텍스트 방향에 따라 물리적 테두리 스타일에 매핑하는 요소의 논리적 인라인 테두리의 스타일을 정의합니다." },
{ name: "border-inline-width", desc: " 요소의 쓰기 모드, 방향성, 텍스트 방향에 따라 폭 물리적 경계에 매핑하는 요소의 논리적 인라인 테두리의 폭을 정의합니다." },
{ name: "border-left", desc: " 왼쪽 테두리를 설정합니다." },
{ name: "border-left-color", desc: " 박스의 왼쪽 테두리 색상을 지정합니다." },
{ name: "border-left-style", desc: " 박스의 왼쪽 테두리 영역의 스타일을 지정합니다." },
{ name: "border-left-width", desc: " 박스의 왼쪽 테두리 영역의 너비를 지정합니다." },
{ name: "border-radius", desc: " 테두리를 둥글게 만들 수 있는 속성입니다." },
{ name: "border-right", desc: " 오른쪽 테두리를 설정합니다. " },
{ name: "border-right-color", desc: " 박스의 오른쪽 테두리 색상을 지정합니다." },
{ name: "border-right-style", desc: " 박스의 오른쪽 테두리 영역의 스타일을 지정합니다." },
{ name: "border-right-width", desc: " 박스의 오른쪽 테두리 영역의 너비를 지정합니다." },
{ name: "border-spacing", desc: " 테이블 cell과 테두리와의 간격을 지정한다." },
{ name: "border-start-end-radius", desc: " 이것은 텍스트 방향 및 쓰기 모드에 관계없이 작업 할 스타일을 작성할 때 유용 합니다 ." },
{ name: "border-start-start-radius", desc: " 이것은 텍스트 방향 및 쓰기 모드에 관계없이 작업 할 스타일을 작성할 때 유용 합니다 ." },
{ name: "border-style", desc: " 박스의 테두리 영역의 스타일을 지정합니다." },
{ name: "border-top", desc: " 위쪽 테두리를 설정합니다." },
{ name: "border-top-color ", desc: " 박스의 상단 테두리 색상을 지정합니다." },
{ name: "border-top-left-radius", desc: " 라운드 코너의 곡률을 규정하는 타원의 반경 (또는 세미 메이저 및 세미 마이너 축의 반경)을 지정하여 소자의 왼쪽 상단." },
{ name: "border-top-right-radius", desc: " 속성 라운드 코너의 곡률을 규정하는 타원의 반경 (또는 세미 메이저 및 세미 마이너 축의 반경)을 지정하여 소자의 오른쪽 상단." },
{ name: "border-top-style", desc: " 박스의 상단 테두리 영역의 스타일을 지정합니다." },
{ name: "border-top-width", desc: " 박스의 상단 테두리 영역의 너비를 지정합니다." },
{ name: "border-width", desc: " 박스의 테두리 영역의 너비를 지정합니다." },
{ name: "bottom", desc: " 용기블럭의 높이를 참조합니다. 요소가 밑에서부터 어디쯤 배치 될 지 결정합니다." },
{ name: "box-decoration-break", desc: " 요소의 방법 속성을 지정 조각이 여러 행, 열 또는 페이지에 걸쳐 깨진 경우 렌더링해야합니다." },
{ name: "box-shadow", desc: " 요소의 프레임 주위에 그림자 효과를 추가합니다." },
{ name: "box-sizing", desc: " 박스의 크기를 어떤 것을 기준로 계산할지를 정하는 속성입니다." },
{ name: "break-after", desc: " 속성 설정 페이지, 열, 또는 지역 구분은 생성 된 박스 후 행동해야하는 방법. 생성 된 상자가 없으면 속성이 무시됩니다." },
{ name: "break-before", desc: " 세트 페이지, 열, 또는 지역 구분은 생성 된 박스 전에 행동해야하는 방법. 생성 된 상자가 없으면 속성이 무시됩니다." },
{ name: "break-inside", desc: " 속성 설정 페이지, 열, 또는 지역 나누기 생성 된 상자 안에 행동해야하는 방법. 생성 된 상자가 없으면 속성이 무시됩니다." },
{ name: "caption-side", desc: " 표(table)의 캡션의 위치를 정하는 속성" },
{ name: "caret-color", desc: " 색상 설정 삽입 캐럿 , 다음 문자 입력 된 삽입 될 볼 마커를. 이를 텍스트 입력 커서 라고도합니다 ." },
{ name: "clear", desc: " float 속성을 해제한다." },
{ name: "clip", desc: " 요소의 보이는 부분을 정의합니다." },
{ name: "clip-path", desc: " 요소의 어떤 부분 집합을 표시 할 것인지 클리핑 영역을 생성한다." },
{ name: "color", desc: " 텍스트 내용의 글자 색상을 지정합니다." },
{ name: "color-scheme", desc: " 요소가 편안하게 렌더링 할 수있는 색 구성표 표시 할 수 있습니다." },
{ name: "column-count", desc: " 해당 요소를 몇 개의 칼럼(column)로 나눌지를 설정합니다." },
{ name: "column-fill", desc: " 컬럼로 쪼갤 때, 얼마나 요소들이 균형이 맞는지 컨트롤 합니다." },
{ name: "column-gap (grid-column-gap)", desc: " 그리드 레이아웃에서 컬럼 간의 간격을 정의합니다." },
{ name: "column-rule", desc: " 다중 열 레이아웃의 열 사이에 그려진 라인의 폭, 스타일, 색상을 설정한다." },
{ name: "column-rule-color", desc: " 다중 열 레이아웃의 열 사이에 그려진 라인의 색을 설정한다." },
{ name: "column-rule-style", desc: " 다중 열 레이아웃에서 열 사이에 그려진 라인의 스타일을 설정합니다." },
{ name: "column-rule-width", desc: " 다중 열 레이아웃의 열 사이에 그려진 라인의 폭을 설정한다." },
{ name: "column-span", desc: " 컬럼 span을 설정합니다." },
{ name: "column-width", desc: " 다중 열 레이아웃에서 이상적인 컬럼 폭을 설정한다." },
{ name: "columns", desc: " 다단을 정의 - 단축 속성" },
{ name: "contain", desc: " 특정 요소와 콘텐츠가 문서 트리의 다른 부위와 독립되어있음을 나타낼 때 사용합니다." },
{ name: "content", desc: " 엘리먼트의 앞(:before)이나 뒤(:after)에 내용을 생성합니다." },
{ name: "content-visibility", desc: " 페이지로드 성능을 개선하는 데 가장 영향력있는 속성" },
{ name: "counter-increment", desc: " counter-reset로 설정한 값을 증가시키는 역할" },
{ name: "counter-reset", desc: " 카운터를 사용하려면, counter-reset로 먼저 카운터 이름과 시작값을 설정 해야 합니다" },
{ name: "counter-set", desc: " CSS 카운터 를 주어진 값로 설정합니다." },
{ name: "cursor", desc: " 마우스 커서의 모양을 지정한다." },
{ name: "direction", desc: " 텍스트의 표기 방향을 지정한다." },
{ name: "display", desc: " 엘리먼트의 디스플레이 속성을 지정한다." },
{ name: "empty-cells", desc: " 테두리와 배경이 주위에 표시할지 여부 " },
{ name: "filter", desc: " 요소 흐림 또는 색상 변화와 같은 그래픽 효과를 적용한다." },
{ name: "flex", desc: " 요소들을 자유자제로 위치 시키는 속성로, 레이아웃을 쉽게 잡을 수 있다." },
{ name: "flex-basis", desc: " 플렉스 항목의 초기 기본 크기를 설정합니다." },
{ name: "flex-direction", desc: " CSS3에 추가된 속성로 flexible item이 flex 컨테이너 안에 위치되는 방법을 지정한다." },
{ name: "flex-flow", desc: " 플렉스 컨테이너의 방향,뿐만 아니라 포장 동작을 지정한다." },
{ name: "flex-grow", desc: " flex-item 요소가, flex-container 요소 내부에서 할당 가능한 공간의 정도를 선언합니다." },
{ name: "flex-shrink", desc: " 공간을 넘어갈 경우에 각 아이템들을 줄이는 방법을 설정하는 방법입니다." },
{ name: "flex-wrap", desc: " flexible item을 wrap 할것인지 아닌지를 지정한다." },
{ name: "float", desc: " 용기박스를 왼쪽 또는 오른쪽로 이동하거나 이동하지 않음을 지정한다." },
{ name: "font", desc: " 엘리먼트안의 텍스트 컨텐츠의 font-style, font-variant, font-weight, font-size, line-height, font-family를 설정하는 약식속성이다." },
{ name: "font-family", desc: " 특정 글꼴이나 대표 글꼴을 지정한다. " },
{ name: "font-feature-settings", desc: " 오픈타입 폰트의 다양한 오픈타입 피처를 설정합니다." },
{ name: "border", desc: " 저장된 폰트 자간 정보의 사용을 설정한다. " },
{ name: "font-language-override", desc: " 서체에서 특정 언어의 상형 문자의 사용을 제어합니다." },
{ name: "font-optical-sizing", desc: " 서로 다른 크기로 볼 수 있도록 최적화되어 있는지 설정합니다." },
{ name: "font-size", desc: " 글꼴의 크기를 지정한다." },
{ name: "font-size-adjust", desc: " (대문자의 크기를 정의하는) 현재의 폰트 크기에 대한 소문자의 크기를 설정한다." },
{ name: "font-stretch", desc: " 글꼴 에서 노멀, 압축 또는 확장면을 선택합니다." },
{ name: "font-style", desc: "font-family에서 지정된 폰트의 스타일을 지정합니다." },
{ name: "font-synthesis", desc: " 브라우저가 굵은 글꼴과 이탤릭 글꼴을 합성하는 것을 허용할지 설정합니다." },
{ name: "font-variant", desc: " 소문자를 작은 대문자, 즉 소문자 크기의 대문자로 바꾸는 속성입니다." },
{ name: "font-variant-alternates", desc: " 대체 글리프의 사용을 제어합니다." },
{ name: "font-variant-caps", desc: " 대문자를위한 대체 글리프의 사용을 제어합니다." },
{ name: "font-variant-east-asian", desc: " 일본과 중국 등 동아시아 스크립트를 대체 글리프의 사용." },
{ name: "font-variant-ligatures", desc: " ligatures 글꼴의 글자들을 서로 더 조화롭게 보이도록 하는 기능을 지정합니다." },
{ name: "font-variant-numeric", desc: " 숫자, 분수 및 서수 마커 대체 글리프의 사용을 제어합니다." },
{ name: "font-variant-position", desc: " 글꼴에 내장된 윗 첨자 또는 아랫첨자를 사용하도록 지정합니다." },
{ name: "font-variation-settings", desc: " Variable fonts(가변 폰트) 의 폰트 스타일을 제어하는 CSS 속성입니다." },
{ name: "font-weight", desc: " 글꼴의 굵기를 지정한다." },
{ name: "forced-color-adjust", desc: " 강제 색상 모드 중 선택 하여 특정 요소에 대한 저장을 할 수 있습니다." },
{ name: "gap (grid-gap)", desc: " row-gap 및 column-gap 의 약어 입니다. (갭제어)" },
{ name: "grid", desc: " 2차원 표형태의 레이아웃을 만들 수 있는 속성입니다." },
{ name: "grid-area", desc: " grid-templete-areas에 지정한 영역을 정의해준다." },
{ name: "grid-auto-columns", desc: " 암시 적로 생성 된 그리드 컬럼의 크기를 지정 트랙 이나 트랙의 패턴을 지정합니다." },
{ name: "grid-auto-flow", desc: " 자동 배치 알고리즘이 자동 배치 항목을 그리드로 유입 얻을 방법을 정확하게 지정 작동 방식 CSS 속성을 제어합니다." },
{ name: "grid-auto-rows", desc: " 암시 적로 생성 된 그리드 행의 크기를 지정 트랙 이나 트랙의 패턴을 지정합니다." },
{ name: "grid-column", desc: " 격자 아이템의 크기 및 위치 지정 합니다." },
{ name: "grid-column-end", desc: " 그리드 열 내에서 그리드 항목의 끝 위치를 지정합니다." },
{ name: "grid-column-start", desc: " 그리드 열 내에서 그리드 항목의 시작 위치를 지정합니다." },
{ name: "grid-row", desc: " 그리드의 인라인 시작 및 인라인 끝 가장자리를 지정합니다." },
{ name: "grid-row-end", desc: " 그리드 영역 의 인라인 끝 가장자리를 지정합니다." },
{ name: "grid-row-start", desc: " 그리드 영역 의 인라인 시작 가장자리를 지정합니다." },
{ name: "grid-template", desc: " 그리드의 열, 행 및 지역을 정의하기위한 약식속성입니다." },
{ name: "grid-template-areas", desc: " 레이아웃이 어떤 형태로 구성되는지 설계도의 역할을 한다." },
{ name: " grid-template-columns", desc: " 열 넓이를 지정한다." },
{ name: "grid-template-rows", desc: " 행 높이를 지정한다." },
{ name: "hanging-punctuation", desc: " 구두점이 시작 정지 또는 텍스트 행의 종료 여부를 속성 지정합니다." },
{ name: "height", desc: " 블럭레벨 요소의 높이를 지정한다." },
{ name: "hyphenate-character", desc: " 하이픈 나누기 전 줄 끝에서 사용되는 문자(또는 문자열)를 설정합니다." },
{ name: "hyphens", desc: " 단어를 여러 줄에 걸쳐 때 텍스트 랩을 하이픈되어야하는 속성을 지정합니다." },
{ name: "image-orientation", desc: " 이미지 방향에 대한 레이아웃 독립적 수정을 지정합니다." },
{ name: "image-rendering", desc: " 이미지 스케일링 알고리즘을 설정한다." },
{ name: "image-resolution", desc: " 해상도를 설정합니다. " },
{ name: "ime-mode", desc: " IME(Input Method Editor)의 상태를 반환하거나 설정합니다." },
{ name: "initial-letter", desc: " 세트, 떨어 제기하고, 침몰 초기 문자에 대한 스타일링." },
{ name: "initial-letter-align", desc: " 단락 내에서 초기 문자의 정렬을 지정합니다." },
{ name: "inline-size", desc: " 요소의 블록의 수평과 수직 크기를 정의한다." },
{ name: "inset", desc: " element와 테두리 사이의 element 내부에 있는 공간을 의미합니다." },
{ name: "inset-block", desc: " 요소의 쓰기 모드, 방향성, 텍스트 방향에 따라 실제 오프셋에 매핑하는 요소의 논리 블록의 시작과 끝 오프셋을 정의합니다." },
{ name: "inset-block-end", desc: " 요소의 쓰기 모드, 방향성, 텍스트 방향에 따라 물리적 인 세트에 매핑하는 요소의 오프셋 (offset) 논리 블록의 끝을 정의합니다." },
{ name: "inset-block-start", desc: " 논리적 블록 요소의 쓰기 모드, 방향성, 텍스트 방향에 따라 물리적 인 세트에 매핑하는 요소의 오프셋 시작을 정의합니다." },
{ name: "inset-inline", desc: " 요소의 쓰기 모드, 방향성, 텍스트 방향에 따라 실제 오프셋에 매핑 인라인 방향로 요소의 논리적 시작과 끝 오프셋을 정의합니다." },
{ name: "inset-inline-end", desc: " 요소의 쓰기 모드, 방향성, 텍스트 방향에 따라 오프셋에 매핑하는 요소의 논리적 인라인 최종 삽입을 정의합니다." },
{ name: "inset-inline-start", desc: " 요소의 쓰기 모드, 방향성, 텍스트 방향에 따라 오프셋에 매핑하는 요소의 논리적 인라인 시작 인 세트를 정의합니다." },
{ name: "isolation", desc: " 요소가 새로운 생성해야하는지 여부를 결정합니다. " },
{ name: "justify-content", desc: " 가로축 - 중심축을 기준로 아이템들을 정렬한다. 주로 flex랑 사용된다." },
{ name: "justify-items", desc: " 수직축을 중심로 좌우로 위치를 조정하는 속성입니다. Flexbox와 같은 개념입니다." },
{ name: "justify-self", desc: " 상자가 적절한 축 방향의 정렬 컨테이너 내부 정당화되는 방법을 설정합니다." },
{ name: "left", desc: " 용기블럭의 너비를 참조합니다. 요소가 왼쪽에서 어느 위치에 배치 될 지 결정합니다." },
{ name: "letter-spacing", desc: " 텍스트 문자 사이의 수평 간격 동작을 설정합니다." },
{ name: "line-break", desc: " 줄 바꿈 규칙을 어떻게 할지 결정합니다. " },
{ name: "line-height", desc: " 인라인 박스의 높이를 지정한다. " },
{ name: "line-height-step", desc: " 라인 박스의 높이에 대한 공정 유닛을 설정한다." },
{ name: "list-style", desc: " 목록 항목의 속성들(list-style-type, list-style-position, list-style-image)을 한꺼번에 지정하는 약식속성입니다." },
{ name: "list-style-image", desc: " 목록 항목 마커로 사용되는 이미지를 설정합니다." },
{ name: "list-style-position", desc: " 속성의 위치 설정 합니다." },
{ name: "list-style-type", desc: " 목록 항목 요소 (예 : 디스크, 문자, 또는 사용자 정의 카운터 스타일 등) 마커를 설정합니다" },
{ name: "margin", desc: " 엘리먼트와 엘리먼트 사이의 간격을 지정" },
{ name: "margin-block", desc: " 요소의 쓰기 모드, 방향성, 텍스트 방향에 따라 물리적 한계에 매핑하는 요소의 논리 블록의 시작과 끝 여백을 정의합니다." },
{ name: "margin-block-end", desc: " 요소의 쓰기 모드, 방향성, 텍스트 방향에 따라 물리적 한계에 매핑하는 요소의 논리적 블록 끝 마진을 정의합니다." },
{ name: "margin-block-start", desc: " 요소의 쓰기 모드, 방향성, 텍스트 방향에 따라 물리적 한계에 매핑하는 요소의 논리 블록 시작 마진을 정의합니다." },
{ name: "margin-bottom", desc: " 요소 밑에 쪽 마진을 설정합니다. " },
{ name: "margin-inline", desc: " 약식 속성입니다 정의하는 두 요소의 쓰기 모드, 방향성, 텍스트 방향에 따라 물리적 한계에 매핑하는 요소의 논리적 인라인 시작과 끝 여백." },
{ name: "margin-inline-end", desc: " 요소의 쓰기 모드, 방향성, 텍스트 방향에 따라 물리적 한계에 매핑하는 요소의 논리적 인라인 끝 마진을 정의합니다." },
{ name: "margin-inline-start", desc: " 속성은 요소의 쓰기 모드, 방향성, 텍스트 방향에 따라 물리적 한계에 매핑하는 요소의 논리적 인라인 시작 마진을 정의합니다." },
{ name: "margin-left", desc: " 소 왼쪽의 여백 영역을 설정 합니다. " },
{ name: "margin-right", desc: " 엘리먼트의 오른쪽 마진을 지정한다. " },
{ name: "margin-top", desc: " 엘리먼트의 상단 마진을 지정한다." },
{ name: "margin-trim", desc: " 컨테이너가 컨테이너의 가장자리에 인접한 자식의 여백을 트리밍할 수 있습니다 ." },
{ name: "mask", desc: " 아이템이 부분적로만 보여지게 하거나 혹은 완전히 가려서 보여지지 않게 할 수 있는 기능을 가지고 있습니다." },
{ name: "mask-border", desc: " 요소의 경계의 가장자리를 따라 마스크를 만들 수 있습니다." },
{ name: "mask-border-mode", desc: " 블렌딩 모드를 지정하는 마스크의 테두리" },
{ name: "mask-border-outset", desc: " 요소의있는 거리 지정 마스크 보더 의 경계 상자에서 밖로 설정됩니다." },
{ name: "mask-border-repeat", desc: " 속성 세트 에지 영역 , 소스 이미지가 요소의의 크기에 맞게 조정되는 마스크 테두리." },
{ name: "mask-border-slice", desc: " 요소 마스크 테두리 의 구성 요소를 형성하는 데 사용됩니다 ." },
{ name: "mask-border-source", desc: " 동적 최종 마스크 테두리에 적용되는 영역로 소스 이미지를 분할하는데 사용된다." },
{ name: "mask-border-width", desc: " 속성은 엘레멘트의 너비 설정 마스크 경계를 설정합니다." },
{ name: "mask-clip", desc: " 마스크에 의해 영향을받는 영역을 결정한다. " },
{ name: "mask-composite", desc: " 그 다음 마스크 층과 현재의 마스크 층에 사용되는 합성 동작을 나타낸다." },
{ name: "mask-image", desc: " 마스크 층로서 사용되는 화상을 설정한다. " },
{ name: "mask-mode", desc: " 정의 된 마스크 참조 여부 속성 세트" },
{ name: "mask-origin", desc: " 마스크의 원점을 설정합니다." },
{ name: "mask-position", desc: " 마스크의 위치를 설정합니다. " },
{ name: "mask-repeat", desc: " 마스크 이미지를 반복하는 방법을 속성 집합을 설정합니다." },
{ name: "mask-size", desc: " 마스크 이미지의 크기를 지정합니다." },
{ name: "mask-type", desc: " 마스크 타입을 설정합니다." },
{ name: "max-block-size", desc: " 기입 방향로 규정되는 방향의 반대측에있는 요소들의 최대 크기를 지정하는 writing-mode . 즉, 쓰기 방향이 수평이면 max-block-size 는 max-height 와 같습니다 . " },
{ name: "max-height", desc: " 엘리먼트의 최대 높이를 지정한다." },
{ name: "max-inline-size", desc: " 기록 모드에 따라서, 요소의 블록의 수평 또는 수직의 최대 크기를 정의한다." },
{ name: "max-width", desc: " 엘리먼트의 최대 넒이를 지정한다." },
{ name: "min-block-size", desc: " 기록 모드에 따라서, 요소의 블록의 최소 수평 또는 수직 크기를 정의한다." },
{ name: "min-height", desc: " 엘리먼트의 내용영역 높이의 최소값을 지정한다. 음수값은 지정할 수 없다." },
{ name: "min-inline-size", desc: " 기록 모드에 따라서, 요소의 블록의 수평 또는 수직의 최소 크기를 정의한다." },
{ name: "min-width", desc: " 엘리먼트의 최소 넓이를 지정한다." },
{ name: "mix-blend-mode", desc: " 요소의 내용은 요소의 부모의 내용과 요소의 배경로 혼합하는 방법." },
{ name: "object-fit", desc: " img 나 video 요소와 같은 대체 요소의 콘텐츠 크기를 어떤 방식로 조절해 요소에 맞출 것인지 지정합니다." },
{ name: "object-position", desc: " 대체 요소의 콘텐츠 정렬 방식을 지정합니다." },
{ name: "offset", desc: " 정의 된 경로를 따라 애니메이션화 된 요소에 필요한 모든 속성을 설정한다." },
{ name: "offset-anchor", desc: " 실제로 경로를 따라 움직이는 offset-path 를 따라 이동하는 요소의 상자 내부 지점을 지정합니다 ." },
{ name: "offset-distance", desc: " CSS 속성 지정은 함께 위치 offset-path 요소의 위치가된다." },
{ name: "offset-path", desc: " 수행 할 요소의 이동 경로를 지정하고, 부모 컨테이너 내의 요소의 위치를 정의 또는 SVG 좌표계." },
{ name: "offset-position", desc: " 오프셋의 위치값을 설정합니다." },
{ name: "offset-rotate", desc: " 소자의 배향 / 정의 방향 offset-path ." },
{ name: "opacity", desc: " 요소의 투명도를 결정합니다." },
{ name: "order", desc: " 플렉스 또는 그리드 컨테이너에서 항목을 배치하는 순서를 설정합니다." },
{ name: "orphans", desc: " 표시해야하는 블록 컨테이너 선의 최소 설정 저면 (A)의 페이지 , 영역 또는 컬럼 ." },
{ name: "outline", desc: " 단일 선언에서 대부분의 개요 속성을 설정합니다 . " },
{ name: "outline-color", desc: " 요소의 외곽선의 색상을 설정합니다." },
{ name: "outline-offset", desc: " 간 공간 설정 윤곽 요소의 가장자리 또는 경계." },
{ name: "outline-style", desc: " 요소의 윤곽의 스타일을 설정합니다. 윤곽선은 border 외부의 요소 주위에 그려지는 선입니다 ." },
{ name: "outline-width", desc: " 엘레멘트의 윤곽의 두께를 설정합니다." },
{ name: "overflow", desc: " 내용이 박스보다 큰 경우 밖로 넘친 부분을 어떻게 표시할지를 지정한다." },
{ name: "overflow-anchor", desc: " 조정 스크롤 위치가 내용의 변화를 최소화하기 위해 브라우저의 스크롤 고정 행동을 거부 할 수있는 방법을 제공합니다." },
{ name: "overflow-block", desc: " 상자의 블록 시작과 블록 끝 가장자리를 오버 플로우 어떤 쇼 속성 집합. 이것은 아무것도, 스크롤 막대 또는 오버플로 내용 일 수 있습니다." },
{ name: "overflow-clip-margin", desc: " 얼마나 외부의 경계를 가지는 요소를 결정" },
{ name: "overflow-inline", desc: " 내용이 상자의 인라인 시작과 끝 가장자리를 오버 플로우 어떤 쇼 속성 집합." },
{ name: "overflow-wrap", desc: " 라우저가 줄 상자를 넘쳐에서 텍스트를 방지하기 위해 다른 깨지지 않는 문자열 내에서 줄 바꿈을 삽입할지 여부를 설정, 인라인 요소에 적용됩니다." },
{ name: "overflow-x", desc: " 블록 레벨 요소의 왼쪽과 오른쪽 가장자리를 오버 플로우 어떤 쇼 속성 집합." },
{ name: "overflow-y", desc: " 블록 레벨 엘리먼트의 상부 및 하부 가장자리를 넘쳐 어떤 방송 속성 세트. 이것은 아무것도 아니거나 스크롤 막대 또는 오버플로 내용 일 수 있습니다." },
{ name: "overscroll-behavior", desc: " 스크롤 영역의 경계에 도달 할 때 브라우저가 무엇 CSS 속성을 설정합니다." },
{ name: "overscroll-behavior-block", desc: " 스크롤 영역의 블록 방향 경계에 도달하면 CSS 속성은 브라우저의 동작을 설정합니다." },
{ name: "overscroll-behavior-inline", desc: " 스크롤 영역의 인라인 방향의 경계에 도달하면 CSS 속성은 브라우저의 동작을 설정합니다." },
{ name: "overscroll-behavior-x", desc: " 스크롤 영역의 수평 경계에 도달하면 CSS 속성은 브라우저의 동작을 설정합니다." },
{ name: "overscroll-behavior-y", desc: " 스크롤 영역의 수직 경계에 도달하면 CSS 속성은 브라우저의 동작을 설정합니다." },
{ name: "padding", desc: " 엘리먼트의 상, 하, 좌, 우 여백을 한꺼번에 지정합니다." },
{ name: "padding-block-end", desc: " 속성은 요소의 쓰기 모드, 방향성, 텍스트 방향에 따라 물리적 패딩에 매핑하는 요소의 논리적 블록 끝 패딩을 정의합니다." },
{ name: "padding-block-start", desc: " 요소의 쓰기 모드, 방향성, 텍스트 방향에 따라 물리적 패딩에 매핑하는 요소의 논리 블록 시작 패딩을 정의합니다." },
{ name: "padding-bottom", desc: " 요소 내부의 아래쪽 여백을 설정합니다." },
{ name: "padding-inline-end", desc: " 요소의 쓰기 모드, 방향성, 텍스트 방향에 따라 물리적 패딩에 매핑하는 요소의 논리적 인라인 최종 패딩을 정의합니다." },
{ name: "padding-inline-start", desc: " 요소의 쓰기 모드, 방향성, 텍스트 방향에 따라 물리적 패딩에 매핑하는 요소의 논리적 인라인 시작 패딩을 정의합니다." },
{ name: "padding-left", desc: " 엘리먼트의 왼쪽 여백을 지정한다. " },
{ name: "padding-right", desc: " 엘리먼트의 오른쪽 여백을 지정한다." },
{ name: "padding-top", desc: " 요소의 위쪽 패딩을 결정합니다." },
{ name: "page-break-after", desc: " 페이지 나누기 후 현재 요소." },
{ name: "page-break-before", desc: " 이 속성은 break-before 속성 로 대체되었습니다 ." },
{ name: "page-break-inside", desc: " 이 속성은 break-inside 속성로 대체되었습니다 ." },
{ name: "perspective", desc: " 3 차원 위치 요소 일부 관점을 제공하기 위해, Z = 0 인 평면과 사용자 사이의 거리를 결정한다." },
{ name: "perspective-origin", desc: " 변형되는 요소에 배치되는 perspective() 변형 함수 와 달리 3차원 공간에서 변형된 자식의 부모에 첨부됩니다 ." },
{ name: "place-content", desc: " CSS의 단축형 속성 (즉, 한 번에 블록 및 인라인 두 방향을 따라 정렬 내용을 수행 할 수 있습니다 align-content 및 justify-content 등 관련 레이아웃 시스템의 특성) 그리드 또는 인 flexbox ." },
{ name: "place-items", desc: " 약식 속성은 한 번에 블록 및 인라인 두 방향을 따라 정렬 항목을 수행 할 수 있습니다 (즉, align-items 및 justify-items 속성)과 같은 관련 레이아웃 시스템에 그리드 또는 인 flexbox . 두 번째 값이 설정되지 않은 경우 첫 번째 값도 사용됩니다." },
{ name: "place-self", desc: " 단축형 속성은 당신이 (즉, 한 번에 블록과 인라인 방향 모두에서 개별 항목을 정렬 할 수 있습니다" },
{ name: "pointer-events", desc: " 어떤 상황 (있는 경우)에 따라 속성 집합은 특정 그래픽 요소가 될 수있는 대상 포인터 이벤트." },
{ name: "position", desc: " 엘리먼트의 배치방법을 지정한다." },
{ name: "print-color-adjust", desc: " 출력 장치에서 요소의 모양을 최적화하기 위해 사용자 에이전트 가 수행할 수 있는 작업을 설정합니다." },
{ name: "quotes", desc: " 브라우저가 사용하는 추가 인용 부호를 렌더링하는 방법을 속성 집합을 설정합니다." },
{ name: "resize", desc: " 요소 의 크기를 조정할 수 있는지 여부와 방향을 결정합니다." },
{ name: "right", desc: " 용기블럭의 너비를 참조합니다. 요소가 오른쪽에서 어디에 배치 될 지 결정합니다." },
{ name: "rotate", desc: " 각각 독립적로의 회전 변환을 지정할 수 있습니다 " },
{ name: "row-gap (grid-row-gap)", desc: " 요소의 행 사이 의 간격( gutter ) 크기를 설정합니다." },
{ name: "ruby-align", desc: " 기재 위에 다른 루비 원소의 분포를 정의한다." },
{ name: "ruby-position", desc: " 기본 요소에 루비 요소 친척의 위치를 정의합니다. 요소 위( over ), 요소 아래( under ) 또는 오른쪽에 있는 문자 사이( inter-character )에 위치할 수 있습니다" },
{ name: "scale", desc: " 개별적로 독립적 규모의 변환을 지정할 수 있습니다." },
{ name: "scroll-behavior", desc: " 탐색 또는 CSSOM 스크롤 API에서 트리거 스크롤 할 때 속성은 스크롤 상자의 동작을 설정합니다." },
{ name: "scroll-margin", desc: " 훨씬처럼 값을 지정, 한 번에 요소의 스크롤 여백의 모든 설정합니다." },
{ name: "scroll-margin-block", desc: " 블록 차원의 요소의 스크롤 마진을 설정한다." },
{ name: "scroll-margin-block-end", desc: " 상자를 스냅포트에 맞추는 데 사용되는 블록 차원의 끝에서 스크롤 스냅 영역의 여백을 정의합니다 ." },
{ name: "scroll-margin-block-start", desc: " 이 상자를 스냅포트에 맞추는 데 사용되는 블록 차원의 시작 부분에서 스크롤 스냅 영역의 여백을 정의합니다." },
{ name: "scroll-margin-bottom", desc: " 엘리먼트의 하단 마진을 지정한다." },
{ name: "scroll-margin-inline", desc: " 인라인 차원의 요소의 스크롤 마진을 설정한다." },
{ name: "scroll-margin-inline-end", desc: " 이 상자를 snapport에 맞추는 데 사용되는 인라인 차원의 끝에서 스크롤 스냅 영역의 여백을 정의합니다 ." },
{ name: "scroll-margin-inline-start", desc: " 이 상자를 snapport에 맞추는 데 사용되는 인라인 차원의 시작 부분에서 스크롤 스냅 영역의 여백을 정의합니다 ." },
{ name: "scroll-margin-left", desc: " 엘리먼트의 왼쪽 마진을 지정한다." },
{ name: "scroll-margin-right", desc: " 이 상자를 snapport에 맞추는 데 사용되는 스크롤 스냅 영역의 오른쪽 여백을 정의합니다." },
{ name: "scroll-margin-top", desc: " 이 상자를 snapport에 맞추는 데 사용되는 스크롤 스냅 영역의 위쪽 여백을 정의합니다." },
{ name: "scroll-padding", desc: " 한 번에 요소의 모든면에 세트 스크롤 패딩을 설정합니다." },
{ name: "scroll-padding-block", desc: " 블록 차원의 요소의 스크롤 패딩을 설정한다." },
{ name: "scroll-padding-block-end", desc: " 블록 사이즈의 단부 에지 오프셋을 정의합니다." },
{ name: "scroll-padding-block-start", desc: " 블록 사이즈의 시작 에지에 대한 속성을 정의 오프셋을 설정합니다." },
{ name: "scroll-padding-bottom", desc: " 밑바닥 오프셋을 정의" },
{ name: "scroll-padding-inline", desc: " 인라인 차원의 요소의 스크롤 패딩을 설정한다." },
{ name: "scroll-padding-inline-end", desc: " 인라인 측정에 단부 가장자리의 속성을 정의" },
{ name: "scroll-padding-inline-start", desc: " 인라인 측정의 시작 에지에 대한 속성을 정의 옵셋 영역 보는 최적의 사용자의 관점에서 일을 배치하기위한 대상 영역" },
{ name: "scroll-padding-left", desc: " 좌측의 속성을 정의 옵셋 최적 가시 영역 은 사용자의 관점에서 일을 배치하기위한 대상 영역로서 사용하는 영역을 정의합니다." },
{ name: "scroll-padding-right", desc: " 우측에 대한 오프셋을 정의합니다." },
{ name: "scroll-padding-top", desc: " 속성의 상단에 대해 오프셋을 정의" },
{ name: "scroll-snap-align", desc: " 상자의 스냅 위치를 스냅 컨테이너의 스냅포트(정렬 컨테이너) 내에서 스냅 영역(정렬 주제)의 정렬로 지정합니다." },
{ name: "scroll-snap-coordinate", desc: " 이 기능은 더 이상 권장되지 않습니다." },
{ name: "scroll-snap-destination", desc: " 이 기능은 더 이상 권장되지 않습니다." },
{ name: "scroll-snap-points-x", desc: " 물리보다는 논리상 방향과 차원 맵핑을 통해 레이아웃을 제어하는 능력을 제공하는 속성 및 값을 정의하는 CSS 모듈입니다." },
{ name: "scroll-snap-points-y", desc: " 물리보다는 논리상 방향과 차원 맵핑을 통해 레이아웃을 제어하는 능력을 제공하는 속성 및 값을 정의하는 CSS 모듈입니다" },
{ name: "scroll-snap-stop", desc: " 스크롤 컨테이너가 가능한 스냅 위치에 허용되는지 여부 속성을 정의합니다." },
{ name: "scroll-snap-type", desc: " 포인트를 고정하는 방법을 엄격 속성 집합 하나가 경우에 스크롤 컨테이너에 적용됩니다" },
{ name: "scrollbar-color", desc: " 속성은 스크롤 트랙과 엄지 손가락의 색상을 설정합니다." },
{ name: "scrollbar-width", desc: " 사용하면 작성자가 요소 의 스크롤 막대가 표시될 때 최대 두께를 설정할 수 있습니다." },
{ name: "shape-image-threshold", desc: " 속성에 대한 값로 이미지를 이용한 형상 추출 할 알파 채널 임계 값을 설정합니다." },
{ name: "shape-margin", desc: " 속성 집합은 CSS 모양의 마진을 사용하여 생성 된 shape-outside ." },
{ name: "shape-outside", desc: " 속성은 인접한 인라인 콘텐츠가 둘러싸야 하는 사각형이 아닐 수 있는 모양을 정의합니다 " },
{ name: "tab-size", desc: " 탭 문자 (+ 0009 U)의 폭을 지정하는 데 사용됩니다." },
{ name: "table-layout", desc: " 테이블의 레이아웃을 정의합니다. " },
{ name: "text-align", desc: " 블럭안 인라인 인라인 요소의 수평 정렬을 지정한다" },
{ name: "text-align-last", desc: " 블록 또는 행의 마지막 줄 오른쪽 강제 줄 바꿈하기 전에, 정렬되는 방식 CSS 속성을 설정합니다." },
{ name: "text-combine-upright", desc: " 속성 세트는 문자의 조합을 단일 문자의 공간로. 결합 된 텍스트가 1em보다 넓은 경우 사용자 에이전트는 1em 이내의 콘텐츠에 맞아야합니다." },
{ name: "text-decoration", desc: " 텍스트에 밑줄, 윗줄, 가운데줄이나 깜빡거림의 장식적인 요소를 지정한다." },
{ name: "text-decoration-color", desc: " 텍스트 요소의 밑줄의 색깔을 결정합니다." },
{ name: "text-decoration-line", desc: " 속성 집합 같은 밑줄 또는 윗줄로, 요소의 텍스트에 사용되는 장식의 종류." },
{ name: "text-decoration-skip", desc: " 요소에 영향을 미치는 텍스트 장식이 건너뛰어야 하는 요소 콘텐츠의 부분을 설정합니다." },
{ name: "text-decoration-skip-ink", desc: " 글리프 센더와 디 센더를 통해 통과 할 때 overlines와 밑줄이 그려하는 방법 속성 지정합니다." },
{ name: "text-decoration-style", desc: " 속성에 의해 지정된 라인의 스타일 설정 text-decoration-line . 스타일은 text-decoration-line 로 설정된 모든 행에 적용됩니다 . " },
{ name: "text-emphasis", desc: " 텍스트에 강조 표시를 적용합니다." },
{ name: "text-emphasis-color", desc: " 속성을 강조 마크의 색상을 설정합니다." },
{ name: "text-emphasis-position", desc: " 루비 텍스트처럼 강조 표시를위한 공간이 충분하지 않으면 줄 높이가 증가합니다." },
{ name: "text-emphasis-style", desc: " 속성이 강조 표시의 모양을 설정합니다." },
{ name: "text-indent", desc: " 블록의 텍스트 행하기 전에 넣어 빈 공간 (들여 쓰기)의 길이를 설정합니다." },
{ name: "text-justify", desc: " 텍스트에 적용되어야한다" },
{ name: "text-orientation", desc: " 속성은 행의 텍스트 문자의 방향을 설정합니다." },
{ name: "text-overflow", desc: " 숨겨진 오버플로 콘텐츠가 사용자에게 신호되는 방식을 설정합니다." },
{ name: "text-rendering", desc: " 텍스트를 렌더링 할 때 최적화 할 작업에 대한 렌더링 엔진에 대한 정보를 제공합니다." },
{ name: "text-shadow", desc: " 텍스트에 그림자를 추가합니다." },
{ name: "text-size-adjust", desc: " (모바일 폰트 크기 조정 관련)" },
{ name: "text-transform", desc: " 텍스트를 활용하는 CSS 속성을 지정합니다." },
{ name: "text-underline-position", desc: " 속성은 사용하여 설정 밑줄의 위치를 지정합니다." },
{ name: "top", desc: " 용기블럭의 높이를 참조합니다. 위쪽에서 요소가 어디에 배치 될 것인가 결정합니다." },
{ name: "touch-action", desc: " 터치 스크린 사용자가 조작 할 수있는 방법을 CSS 속성을 설정합니다." },
{ name: "transform", desc: " 요소를 변형시킬 수 있습니다." },
{ name: "transform-box", desc: " 박스의 변형효과를 설정합니다." },
{ name: "transform-origin", desc: " 요소의 변환에 대한 원점을 설정합니다." },
{ name: "transform-style", desc: " 요소의 아이들이 3D 공간에 위치하거나 요소의 평면에 평평 여부 속성 집합." },
{ name: "transition", desc: " 애니메이션 효과를 입힐 때 속도를 조절하는 방법을 제공합니다." },
{ name: "transition-delay", desc: " 속성의 시작하기 전에 대기하는 CSS 속성 지정 기간 전환 효과 때 그 값 변경." },
{ name: "transition-duration", desc: " 전환 애니메이션 완료하는 데 소요되는 시간을 설정합니다." },
{ name: "transition-property", desc: " 트렌지션 프로퍼티를 설정합니다." },
{ name: "transition-timing-function", desc: " 트랜지션의 타이밍을 설정합니다." },
{ name: "translate", desc: " transform 속성로 요소에 회전, 크기 조절, 기울이기, 이동 효과를 부여할 수 있습니다." },
{ name: "unicode-bidi", desc: " 함께와 direction 특성, 문서의 양방향 텍스트가 처리되는 방법을 결정합니다." },
{ name: "user-select", desc: " 사용자가 텍스트를 선택할 수 있는지 여부를 속성을 제어합니다." },
{ name: "vertical-align", desc: " 인라인 엘리먼트나 테이블의 셀 안에서 수직정렬을 지정한다." },
{ name: "visibility", desc: " 문서의 레이아웃을 변경하지 않고 CSS 속성 표시하거나 숨기는 소자입니다." },
{ name: "white-space", desc: " 공백문자를 어떻게 다룰것인가를 정의 한다." },
{ name: "widows", desc: " 표시해야하는 블록 컨테이너 선의 최소 개수 설정 상부 (A)의 페이지 , 영역 또는 컬럼 ." },
{ name: "width", desc: " 블록 레벨 요소의 너비를 지정한다." },
{ name: "will-change", desc: " 요소에 예상되는 변화의 종류에 관한 힌트를 브라우저에 제공케 한다." },
{ name: "word-break", desc: " 단어의 분리를 어떻게 할 것인지 결정합니다." },
{ name: "word-spacing", desc: " 단어 사이의 간격을 지정한다. " },
{ name: "writing-mode", desc: " 텍스트의 선이 수평 또는 수직으로 배치 여부 속성 집합뿐만 아니라 블록이 진행되는 방향." },
{ name: "z-index", desc: " 엘리먼트의 겹쳐지는 순서를 지정한다." }
];
const searchList = document.querySelector(".search__list");
const searchNum = document.querySelector(".search__info .num");
const searchBox = document.querySelector(".search__box input");
const searchDesc = document.querySelector(".search__desc");
// 출력하기
cssProperty.map((element, index)=> {
// searchList.innerHTML += "<li>" + element.name + " :" + element.desc + "</li>";
searchNum.innerText = index + 1;
searchList.innerHTML += `<span>${element.name}</span>`;
// find(searchWord);
});
//입력하기
searchBox.addEventListener("keyup", ()=>{
const searchWord = searchBox.value;
// console.log(searchWord);
findProperty(searchWord);
});
//속성 찾기
function findProperty(searchData){
const targetData = cssProperty.find((data) => data.name === searchData);
if(targetData == null){
searchDesc.textContent = "해당 속성은 존재하지 않습니다. 다시 검색해주세요!";
return; //종료의 의미로 한번 if문 실행 후 계속실행하지 않도록 끝내는 의미 (에러를 잡아준다).
}
searchDesc.textContent = targetData.desc;
};
// 09-28 숙제 클릭시 설명
searchList.addEventListener("click", (e)=>{
findProperty(e.target.innerHTML);
});
'Javascript_Effect' 카테고리의 다른 글
Search Effect05 - filter()를 이용하여 속성의 중요도 보여주기 (7) | 2022.09.29 |
---|---|
마우스 이펙트 - 기울기 효과 글씨 반전 효과 (10) | 2022.09.28 |
마우스 이펙트 - 이미지 효과 (7) | 2022.09.22 |
마우스 이펙트 - 조명 효과 (5) | 2022.09.22 |
패럴랙스 이펙트 - 이질감 효과 (8) | 2022.09.20 |
댓글