@extend 기능은 CSS 스타일 시트의 복제를 줄이고 HTML 클래스를 깨끗하게 만들고 개발자의 시간과 노력을 절약하고 CSS 구조를보다 체계적이고 유지 관리하기 쉽게 만듭니다.
- .
-
CSS 스타일 시트 구성은 대규모 웹 사이트를 효과적으로 스타일링하는 데 중요해졌지만 프로젝트의 스타일 시트는 개발함에 따라 점점 더 복잡하고 유지하기가 어려워지고 있습니다. 이것은 Sass가 모든 것을 더 간단하게 만들기 위해 들어오는 곳입니다. - Atoz : Sass 편지로 Sass 편지를 배우십시오 이 과정을보십시오 이 과정을보십시오
- .
구문은 다음과 같습니다 - 사용량 @extend를 사용하는 것은 다음과 같습니다
-
.foo에서 .foo.
-
기본 사항을 알면 이제 @extend의 일부 사용 사례를 살펴 보겠습니다. @extend 사용 사용 <: :> 사용 사례 1 : 복제 클래스 간의 속성 복제는 CSS를 구성 할 때 피하기가 어렵습니다. 이렇게하면 스타일 시트를 더 복잡하게 만들 수 있습니다. 예를 들면 : 위의 예에서 볼 수 있듯이 .breakfast, .lunch 및 .dinner에는 동일한 값으로 속성 색상, 테두리, 박스 쉐이드, 마진 및 패딩이 포함되어 있습니다. 이 속성은 복제되어 코드가 지저분 해 보이도록하므로 @extend로 다시 작성해 봅시다.
.
위의 예에는 에 두 개의 클래스가 있습니다. 우리가 여러 수업을 받았다면 이것이 얼마나 지저분한 지 상상해보십시오 :
위의 HTML 코드는 상당히 복잡해질 수 있습니다. 일부 웹 개발자는 이런 식으로 선호하지만 Sass 스타일의 상속을 선호합니다.
우리의 HTML과 함께 이제는 다음과 같습니다.
이번에는 하나의 클래스 만 있으면됩니다. 클래스에 대해 정의 된 모든 스타일은 클래스 .strawberry-candy에도 적용됩니다. 이제 HTML 코드가 더 깨끗 해집니다.
Codepen에서 sitepoint (@sitepoint)의 @extend와 함께 HTML에서 여러 클래스를 옮기는 펜을 참조하십시오.
사례 3 : 복잡한 선택기 확장
클래스 선택기만이 확장 할 수있는 유일한 것은 아닙니다. 또한 복잡한 선택기를 A : Hover, .parentClass.childclass 등과 같은 단일 요소로 확장 할 수도 있습니다. 예를 들면 :
<span><span>@extend .class-name;</span></span>
이것은 다음과 같이 컴파일됩니다
그런 다음 우리는 다음과 같이 html에서 사용할 수 있습니다.
Codepen에서 sitepoint (@sitepoint)의 @extend로 복잡한 선택기를 확장하는 펜을 참조하십시오.
@extend의 장점
위의 예를 살펴보면 @extend를 통해 상속의 몇 가지 장점을 볼 수 있습니다. 여기에는 다음이 포함됩니다 클리너 html 클래스
두 번째 사례 연구에서 볼 수 있듯이, 한 요소에 많은 클래스를 사용하면 문제가 발생하면 근본 원인을 결정하기가 어려울 수 있습니다. HTML 태그의 구조도 그다지 멋지고 깨끗해 보이지 않습니다.
좋은 제품을 만들 때 내 관점에서 볼 때, 우리는 최종 사용자의 관점뿐만 아니라 개발 전략의 품질도 고려합니다. 따라서 @extend는 각 HTML 요소 내에서 클래스를 깨끗하게 구조화하는 데 도움이됩니다.
CSS의 복제 감소
웹 개발에서 우리는 항상 CSS 스타일 내에 약간의 복제가 있습니다. 따라서 서면 CSS 소스 코드를 재사용하는 것이 매우 필요할 수 있습니다. @extend는 CSS가 적절하고 깨끗할 때 우리가 재사용하는 데 도움이 될 수 있습니다.
시간과 노력을 절약
앞에서 언급 한 두 가지 장점으로 개발자는 개발 중에 시간과 노력을 절약 할 수 있습니다.
개발자는 다양한 요소에 대한 CSS를 재사용하여 CSS 문제의 근본 원인을 찾는 데 필요한 노력을 줄이고 CSS 구조를 멋지고 깨끗하게 만들 수 있습니다.
그러나 @extend를 사용하는 것은 위험이 없습니다. 위의 장점은 @extend를 신중하게 사용하는 경우에만 적용됩니다. 반대 효과를 유발하는 과도하게 사용될 수 있습니다.
.
@extend의 위험
나는 내 프로젝트에 @extend를 적용했으며 @extend를 사용할 때는주의를 기울여야합니다. 조심해야합니다.
@extend는 CSS 파일 크기를 크게 증가시키고주의없이 사용될 때 CSS의 성능에 영향을 줄 수 있습니다. 나는 이런 상황에서 고통을 겪었고 Sass의 @extend 사용을 리팩트하는 데 많은 시간을 보냈습니다. 다음은 처음 @extend를 잘못 사용했는지에 대한 예입니다.
예 :
는 다음과 같이 컴파일됩니다
이 예에서 .base-css는이를 기반으로 한 많은 상속 클래스가있는 클래스입니다. 예제를 살펴보면 상속 클래스가 서로 관련이 없음을 알 수 있습니다. 내 버튼에는 .btn이 있고 바닥 글에는 .pooter가 있습니다. .base-css에서 상속되는 100 개의 클래스가 있으면 .base-css 특성을 가진 선택기가 증가합니다. 이것은 크고 불필요하게 CSS 최종 결과를 복잡하게 만듭니다. 또한 이는 각 선택기의 속성을 확인하는 것이 더 어렵습니다.
내 Sass를 다시 입력 한 후, 상속 클래스가 상속하는 객체와 직접 관련 될 때만 @extend 만 사용해야한다는 것을 깨달았습니다. 많은 관련이없는 요소에 대한 담요 규칙이 아니라 물체 나 스타일의 변형이어야합니다. 위의 예제와 같은 상속을 위해서는 스타일을 어린이 요소로 계단식으로 만들기 위해 CSS의 기존 기능에 의존해야합니다.
는 다음과 같이 컴파일됩니다<span><span>@extend .class-name;</span></span>
우리는 위의 예가 훨씬 더 정확하고 합리적임을 알 수 있습니다. 우리는 @extend를 객체 유형의 변형으로 인해 서로 상속 해야하는 클래스에만 적용하여 범위를 줄였습니다. 예를 들어, 위의 스타일은 모두 다른 유형의 버튼과 관련이 있습니다.
결론
Sass는 CSS를 개선하여 CSS를 깨끗하고 구조적이며 조직적이며 개발 및 유지 관리가 쉽게 만들 수있는 귀중한 확장입니다. 전에 Sass를 시도하지 않은 경우 적극 권장합니다. Sass의 기본 사항에 더 편한 느낌이 들면 Sass의 @extend에 대해 아무도 말하지 않은 것에 대한 Hugo Giraudel의 itepoint 기사를 읽는 것이 좋습니다. 또한 Sitepoint의 Sass Reference에서 전체 Sass 참조 안내서가 있습니다.
이 게시물의 첫 번째 버전에서 오류를 선택한 의견으로 Steve와 Ezekiel에게 감사합니다. 이후 업데이트되었습니다.
sass Sass에서 @extend를 사용하는 데있어 주요 장점은 무엇입니까?
Sass에서 @extend를 사용하는 주요 장점은 코드 재사용 가능성을 허용하여 클리너 및 유지 관리 가능한 코드로 이어집니다. 클래스가 다른 클래스의 스타일을 상속받을 수 있도록하여 반복적 인 코드를 작성해야 할 필요성을 줄일 수 있습니다. 이것은 코드를 더 읽기 쉽게 만들뿐만 아니라 파일 크기를 줄여서 웹 페이지의로드 시간을 향상시킬 수 있습니다.
@extend는 sass의 @mixin과 어떻게 다릅니 까? Sass의 @Extend 및 @Mixin은 코드 재사용 성을 허용하며 다른 방식으로 작동합니다. @extend를 사용하면 선택기가 다른 선택기의 스타일을 상속받을 수있는 반면 @Mixin에는 스타일 시트 전체에서 재사용 할 수있는 스타일 블록이 포함되어 있습니다. 주요 차이점은 @extend가 동일한 스타일로 선택기를 그룹화하기 때문에 CSS 출력을 적게 생성하는 반면 @Mixin은 포함 할 때마다 스타일을 복제 할 때 더 많은 CSS 출력을 초래할 수 있다는 것입니다. Sass에서 복잡한 선택기와 함께 @Extend? 그러나 @extend는 동일한 파일에있는 선택기와 만 작동한다는 점에 유의해야합니다. 다른 파일에 정의 된 선택기 또는 @mixin 또는 함수로 생성 된 파일에 정의 된 선택기와 함께 작동하지 않습니다. Sass의 미디어 쿼리 내부에서 @extend를 사용할 때 오류가 발생하는 이유는 무엇입니까? Sass의 중첩 규칙 내에서 @extend를 사용할 수 있습니까? 예, Sass의 중첩 규칙 내에서 @extend를 사용할 수 있습니다. 그러나 확장 선택기는 중첩 규칙이 아닌 스타일 시트의 최상위 레벨에 삽입됩니다. SASS는 모든 셀렉터가 문서의 최상위 레벨에 있어야한다는 CSS 규칙을 따르기 때문입니다.
"SASS에서"확장 지시문 만 사용될 수 있습니다 "오류를 피할 수 있습니까? 🎜>이 오류는 SASS의 규칙에 따라 @extend를 사용하려고 할 때 발생합니다. 이 오류를 피하려면 규칙 세트 내에서 @extend를 사용하고 있는지 확인하십시오. 예를 들어,“@extend .class;”를 쓰는 대신“.new class {@extend .class; }”.
Sass에서 의사 클래스와 함께 @extend를 사용할 수 있습니까? 예, Sass의 의사 클래스와 함께 @extend를 사용할 수 있습니다. 그러나 @extend는 의사 클래스 자체가 아니라 의사 클래스의 스타일 만 확장 할 것이라는 점에 유의해야합니다. 이것은 "@extend : hover;"를 사용하는 경우 선택기에 호버 효과를 추가하지 않지만 대신 : 호버 의사 클래스의 스타일을 확장합니다. Sass에서 일하지 않습니까?
@extend가 Sass에서 작동하지 않는 몇 가지 이유가있을 수 있습니다. 한 가지 일반적인 이유는 확장하려는 선택기가 동일한 파일에 존재하지 않기 때문입니다. 또 다른 이유는 Sass에서는 허용되지 않는 미디어 쿼리 또는 중첩 규칙 내에서 선택기를 확장하려고하기 때문일 수 있습니다. @extend가 작동하지 않는 경우이 지점을 확인하십시오.
Sass의 여러 클래스와 함께 @extend를 사용할 수 있습니까? 예, Sass의 여러 클래스와 함께 @extend를 사용할 수 있습니다. 쉼표로 수업을 분리하여이를 수행 할 수 있습니다. 예를 들어,“.new-class {@extend .class1, .class2; }”는 .class1 및 .class2의 스타일을 확장합니다.
Sass에서 확장 클래스의 스타일을 무시할 수 있습니까? 예, 스타일을 무시할 수 있습니다. Sass의 확장 클래스. @extend 지시문 후 새로운 스타일을 정의하여이를 수행 할 수 있습니다. 새로운 스타일은 @extend를 사용하는 선택기의 확장 클래스 스타일을 무시합니다.
위의 HTML 코드는 상당히 복잡해질 수 있습니다. 일부 웹 개발자는 이런 식으로 선호하지만 Sass 스타일의 상속을 선호합니다.
우리의 HTML과 함께 이제는 다음과 같습니다.
이번에는 하나의 클래스 만 있으면됩니다. 클래스에 대해 정의 된 모든 스타일은 클래스 .strawberry-candy에도 적용됩니다. 이제 HTML 코드가 더 깨끗 해집니다.
<span><span>@extend .class-name;</span></span>
좋은 제품을 만들 때 내 관점에서 볼 때, 우리는 최종 사용자의 관점뿐만 아니라 개발 전략의 품질도 고려합니다. 따라서 @extend는 각 HTML 요소 내에서 클래스를 깨끗하게 구조화하는 데 도움이됩니다.
CSS의 복제 감소
웹 개발에서 우리는 항상 CSS 스타일 내에 약간의 복제가 있습니다. 따라서 서면 CSS 소스 코드를 재사용하는 것이 매우 필요할 수 있습니다. @extend는 CSS가 적절하고 깨끗할 때 우리가 재사용하는 데 도움이 될 수 있습니다.
시간과 노력을 절약
앞에서 언급 한 두 가지 장점으로 개발자는 개발 중에 시간과 노력을 절약 할 수 있습니다.
개발자는 다양한 요소에 대한 CSS를 재사용하여 CSS 문제의 근본 원인을 찾는 데 필요한 노력을 줄이고 CSS 구조를 멋지고 깨끗하게 만들 수 있습니다.
그러나 @extend를 사용하는 것은 위험이 없습니다. 위의 장점은 @extend를 신중하게 사용하는 경우에만 적용됩니다. 반대 효과를 유발하는 과도하게 사용될 수 있습니다.
.
내 Sass를 다시 입력 한 후, 상속 클래스가 상속하는 객체와 직접 관련 될 때만 @extend 만 사용해야한다는 것을 깨달았습니다. 많은 관련이없는 요소에 대한 담요 규칙이 아니라 물체 나 스타일의 변형이어야합니다. 위의 예제와 같은 상속을 위해서는 스타일을 어린이 요소로 계단식으로 만들기 위해 CSS의 기존 기능에 의존해야합니다.
<span><span>@extend .class-name;</span></span>
결론
Sass는 CSS를 개선하여 CSS를 깨끗하고 구조적이며 조직적이며 개발 및 유지 관리가 쉽게 만들 수있는 귀중한 확장입니다. 전에 Sass를 시도하지 않은 경우 적극 권장합니다. Sass의 기본 사항에 더 편한 느낌이 들면 Sass의 @extend에 대해 아무도 말하지 않은 것에 대한 Hugo Giraudel의 itepoint 기사를 읽는 것이 좋습니다. 또한 Sitepoint의 Sass Reference에서 전체 Sass 참조 안내서가 있습니다.
이 게시물의 첫 번째 버전에서 오류를 선택한 의견으로 Steve와 Ezekiel에게 감사합니다. 이후 업데이트되었습니다.
sass Sass에서 @extend를 사용하는 데있어 주요 장점은 무엇입니까?
Sass에서 @extend를 사용하는 주요 장점은 코드 재사용 가능성을 허용하여 클리너 및 유지 관리 가능한 코드로 이어집니다. 클래스가 다른 클래스의 스타일을 상속받을 수 있도록하여 반복적 인 코드를 작성해야 할 필요성을 줄일 수 있습니다. 이것은 코드를 더 읽기 쉽게 만들뿐만 아니라 파일 크기를 줄여서 웹 페이지의로드 시간을 향상시킬 수 있습니다.
@extend는 sass의 @mixin과 어떻게 다릅니 까? Sass의 @Extend 및 @Mixin은 코드 재사용 성을 허용하며 다른 방식으로 작동합니다. @extend를 사용하면 선택기가 다른 선택기의 스타일을 상속받을 수있는 반면 @Mixin에는 스타일 시트 전체에서 재사용 할 수있는 스타일 블록이 포함되어 있습니다. 주요 차이점은 @extend가 동일한 스타일로 선택기를 그룹화하기 때문에 CSS 출력을 적게 생성하는 반면 @Mixin은 포함 할 때마다 스타일을 복제 할 때 더 많은 CSS 출력을 초래할 수 있다는 것입니다. Sass에서 복잡한 선택기와 함께 @Extend? 그러나 @extend는 동일한 파일에있는 선택기와 만 작동한다는 점에 유의해야합니다. 다른 파일에 정의 된 선택기 또는 @mixin 또는 함수로 생성 된 파일에 정의 된 선택기와 함께 작동하지 않습니다.Sass의 미디어 쿼리 내부에서 @extend를 사용할 때 오류가 발생하는 이유는 무엇입니까? Sass의 중첩 규칙 내에서 @extend를 사용할 수 있습니까? 예, Sass의 중첩 규칙 내에서 @extend를 사용할 수 있습니다. 그러나 확장 선택기는 중첩 규칙이 아닌 스타일 시트의 최상위 레벨에 삽입됩니다. SASS는 모든 셀렉터가 문서의 최상위 레벨에 있어야한다는 CSS 규칙을 따르기 때문입니다.
"SASS에서"확장 지시문 만 사용될 수 있습니다 "오류를 피할 수 있습니까? 🎜>이 오류는 SASS의 규칙에 따라 @extend를 사용하려고 할 때 발생합니다. 이 오류를 피하려면 규칙 세트 내에서 @extend를 사용하고 있는지 확인하십시오. 예를 들어,“@extend .class;”를 쓰는 대신“.new class {@extend .class; }”.
Sass에서 의사 클래스와 함께 @extend를 사용할 수 있습니까?예, Sass의 의사 클래스와 함께 @extend를 사용할 수 있습니다. 그러나 @extend는 의사 클래스 자체가 아니라 의사 클래스의 스타일 만 확장 할 것이라는 점에 유의해야합니다. 이것은 "@extend : hover;"를 사용하는 경우 선택기에 호버 효과를 추가하지 않지만 대신 : 호버 의사 클래스의 스타일을 확장합니다. Sass에서 일하지 않습니까?
@extend가 Sass에서 작동하지 않는 몇 가지 이유가있을 수 있습니다. 한 가지 일반적인 이유는 확장하려는 선택기가 동일한 파일에 존재하지 않기 때문입니다. 또 다른 이유는 Sass에서는 허용되지 않는 미디어 쿼리 또는 중첩 규칙 내에서 선택기를 확장하려고하기 때문일 수 있습니다. @extend가 작동하지 않는 경우이 지점을 확인하십시오.
Sass의 여러 클래스와 함께 @extend를 사용할 수 있습니까?예, Sass의 여러 클래스와 함께 @extend를 사용할 수 있습니다. 쉼표로 수업을 분리하여이를 수행 할 수 있습니다. 예를 들어,“.new-class {@extend .class1, .class2; }”는 .class1 및 .class2의 스타일을 확장합니다.
Sass에서 확장 클래스의 스타일을 무시할 수 있습니까?예, 스타일을 무시할 수 있습니다. Sass의 확장 클래스. @extend 지시문 후 새로운 스타일을 정의하여이를 수행 할 수 있습니다. 새로운 스타일은 @extend를 사용하는 선택기의 확장 클래스 스타일을 무시합니다.
위 내용은 Sass의 @extend를 통한 상속의 이점의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

CSS Box-Shadow 및 개요 속성은 주제를 얻었습니다. 실제 테마에서 어떻게 작동하는지에 대한 몇 가지 예와 이러한 스타일을 WordPress 블록 및 요소에 적용 해야하는 옵션을 보자.

이 튜토리얼은 Smart Forms 프레임 워크를 사용하여 전문적인 JavaScript 양식을 작성하는 것을 보여줍니다 (참고 : 더 이상 사용할 수 없음). 프레임 워크 자체를 사용할 수 없지만 원칙과 기술은 다른 형태의 건축업자와 관련이 있습니다.

이것은 우리가 양식 접근성에 대해 한 작은 시리즈의 세 번째 게시물입니다. 두 번째 게시물을 놓친 경우 "사용자 초점 관리 : Focus-Visible"을 확인하십시오. ~ 안에

인라인 텍스트 편집기를 구축하는 것은 사소한 일이 아닙니다. 이 프로세스는 대상 요소를 편집 가능하게하여 잠재적 구문 예외를 처리하여 시작합니다. 편집자 생성 이 편집기를 구축하려면 컨텐츠를 동적으로 수정해야합니다.

Svelte Transition API는 맞춤형 전환을 포함하여 문서를 입력하거나 떠날 때 구성 요소를 애니메이션하는 방법을 제공합니다.

이 기사는 Envato Market에서 사용할 수있는 최고의 PHP 양식 빌더 스크립트를 탐색하여 기능, 유연성 및 설계를 비교합니다. 특정 옵션으로 다이빙하기 전에 PHP 양식 빌더가 무엇인지, 왜 사용하는지 이해해 봅시다. PHP 양식

이 튜토리얼은 node.js, express 및 multer를 사용하여 파일 업로드 시스템을 구축함으로써 안내합니다. 단일 및 다중 파일 업로드를 다루고 나중에 검색하기 위해 MongoDB 데이터베이스에 이미지 저장을 보여줍니다. 먼저 Projec을 설정하십시오


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

DVWA
DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

Dreamweaver Mac版
시각적 웹 개발 도구

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.
