CSS를 더욱 간단하게 만드는 두 가지 팁

6021 단어 cleancsshtmlstructure
깨끗한 코드를 작성하는 방법 중 하나는 간단한 코드를 작성하는 것이다.의미 - 실현하기 쉬운 방식으로 당신의 임무를 완성하면 중단될 수도 있고 전체적으로 다른 개발자들에게 이해되기 쉽다.
그런데 이게 어떻게 된 일입니까?그래, 위대함을 실현하는 것은 우리가 원하는 것이 아닐 수도 있지만, 일을 간소화하려는 시도는 아마도🙂

대상 #1 - 코드에서 불필요한 규칙 지우기
사용할 수 있는 가장 간단한 간소화 방법 중 하나는 코드를 작성하지 않는 것이다.아니면 삭제한다고 썼으면어느응, 바로 그 아무것도 하지 않는 사람이야.다음 예는 다음과 같습니다.
...some-selector p {
    color: black;
    font-size: 1em;
    margin: 1em;
    line-height: 1.7;
}
이 부분만 봐도 주변에 무슨 일이 일어났는지 삭제를 결정하기에는 부족하다.그러나 이 예를 위해 우리가 이 규칙으로 무엇을 할 수 있는지 가장 흔히 볼 수 있는 용례를 생각해 봅시다.
...some-selector p {
    color: black;  /* Inherittted? */
    font-size: 1em; /* That is default */
    margin: 1em;
    line-height: 1.7; /* for consistency, we might want this set to the parent */
}
  • 만약 우리가 설정하지 않았다면color 검은색으로 계승될 것이기 때문에 여기서 정의하는 것은 의미가 없다.
  • font-size는 동일하며 글꼴 크기를 변경하지 않으면 기본값을 쓸 필요가 없습니다.이것은 보통 사람들이 디버깅을 하거나 시각화를 시도하거나 테스트할 때 값을 변경할 때 발생한다.
  • line-height 약간 다르다. 시각적 일치성을 원한다면 일반적인 내용과 줄마다 문자 수가 낮은 내용에 대해 특정한 글꼴 크기를 사용하기를 원한다.만약 네가 많은 곳에서 선의 높이를 정의했다면, 일치를 유지하는 것이 문제일 수도 있다.
  • 따라서 위의 내용을 정리하면 동일한 결과가 나올 수 있지만 코드는 다음과 같습니다.
    ...some-selector p {
        margin: 1em;
    }
    
    우리는 단지 이윤의 크기를 커버할 뿐이다.만약 전체 사이트의 이윤율이 일치한다면, 이것은 더욱 간소화할 수 있다. 만약 그렇다면, 우리는 그것을 p { margin: 1em } 처럼 포장하지 않아도 된다. ...some-selector기타 정리 가능한 코드는 대개 다음과 같습니다.
  • divwidth: 100%는 다른 규칙이 없거나 부모가 다시 정의할 수 없다
  • height: 100% 일반 내용(예를 들어 일반<p> 라벨의 <div> 라벨)에 사용됩니다.이 고도는 아무런 작용이 없다.
  • 복잡한 스타일은 간단한 효과를 가져올 수 있지만 보여주거나 설명하기 어렵다. 더 간단한 방법으로 디자인을 실현하는 경우가 많다
  • 깊이 감소 - 바닐라 CSS에서는 부모 레벨을 삭제하고,Sass에서는 선택기를 한두 레벨 위로 이동합니다.
  • 특별한 작용이 없는 규칙

  • 목표 #2 - 필요한 것만 설계
    이것은 듣기에 매우 뚜렷하지 않습니까?그러나 우리는 곧 그것을 잊고 계속할 것이다. 코드를 얼마나 많이 쓰는 것은 결코 대가가 있는 것이 아니다. 그렇지?응, 중간 정도의 대형 코드 라이브러리를 유지하는 것이 둔해지고 사람들이 그것을 멀리할 때 시간과 돈이 작용할 거야.
    이런 복잡성을 줄이는 방법 중 하나는 어떤 스타일을 설계해야 할지 진정으로 생각하는 것이다.구성 요소는 어떻게 연결되고, 어떤 구성 요소의 스타일은 무엇입니까?다음 예는 다음과 같습니다.
    /* Demo component that does one thing only. */
    .card { color: red; }
    .card .card-title {font-size: 2em}
    
    /* A <section> element right in the website wrapper */
    .section-welcome {padding: 5em 0;}
    
    만약 우리가 카드 한 장이 .section-welcome 요소에서 파란색을 필요로 한다면, 우리는 두 가지 현실적인 방법으로 그것을 실현할 수 있다. 하나는 1:1의 요구에 따라 쓰는 것이다 .section-welcome .card {}. 이것은 우리에게 덮어씌울 것이다 .card 양식이다.다른 방법은 .card 요소에 수식자를 작성하는 것이다. 예를 들어.card--secondary.
    이 예에서 우리는 디자인과 수요를 살펴서 이 두 가지 방법 중 어느 것이 정확한지 확정할 수 있다.만약welcome 부분의 디자인이 매우 구체적이고 .card 요소가 그곳에서만 다르게 보인다면 이를 .section-welcome에 끼워 넣는 것은 이해할 수 있다..card 요소의 변경이 구체적이지 않으면 다른 곳에서 다시 사용할 수 있으며 수식자를 사용하는 것이 좋습니다.수식자는 구성 요소에 설정할 수 있는 추가 클래스입니다. 구성 요소와 하위 구성 요소의 스타일을 다른 방식으로 설정합니다.
    수정자가 필요할 경우 다음을 수행합니다.
  • 시각적 변화가 충분하면 응용 프로그램이나 사이트의 다른 곳에서 사용할 수 있다. 예를 들어 색깔, 크기, 간격 변화 등이다.
  • 사이트의 다른 곳에서 그것을 찾을 수 있을 때.주의*4배의 작은 충전이나 한 요소만 불투명하고 일치성은 디자이너가 필요로 하는 것이 아니라 1:1의 결과라면 수정기와 플러그인 선택기를 혼합해서 사용할 수 있습니다.
  • 선택기를 중첩하려는 경우:
  • 특정 포장에 대해 전체 응용 프로그램/사이트의 구성 요소는 하나의 변경 사항만 있다.
  • 포장이 많으면 다른 방식으로 부품을 가볍게 바꿉니다.수식자를 사용하려면 이름을 붙이기 어려울 뿐만 아니라, 다시 사용할 수 없다는 것을 알게 될 것이다.
  • 위의 몇 가지 기교는 디자인의 불량한 실천에서 비롯된다. 일치하지 않지만 현실 세계에서 당신은 다양한 장면에 폭격을 당한다. 시간 제한, 엉망인 디자인, 현실에 맞지 않는 기대, 어려운 팀원, 테스트 부족, 방향과 요구 변화, 해커의 브라우저 지원, 편집 체험(정적 코드뿐만 아니라)이 필요하다.백엔드 팀에서 태그를 바꾸거나 잊어버리는 클래스 (특히 수식자) 등등.따라서 이 모든 문제에 대해 경험을 쌓아야 가장 적은 방법을 제시하고 응용할 수 있다.
    전반적으로 말하면, 모든 상황은 당신이 1분 동안 최선의 방법을 생각해야 할 수도 있다.코드를 재구성할 수 있다는 것을 잊지 마라!이것은 대형 프로젝트가 구조가 좋지 않은 상황에서 유지되고 성장하기 어려운 주요 원인이다. 설령 당신이 그것이 매우 좋다고 생각하더라도 좋은 체계 구조를 제시했다. 상술한 문제가 발생할 때, 우리는 개발자로서 '당신이 지금 어떤 것을 공격하고 있다면 가능한 한 빨리 돌아와서 그것을 재구성해 주십시오.' 라는 것을 자주 잊어버릴 수 있다.

    좋은 웹페이지 즐겨찾기