찾다
웹 프론트엔드CSS 튜토리얼CSS 아키텍처 블록 요소 모디퍼 (BEM)-itepoint

BEM (Block-Element-Modifier)은 프론트 엔드 개발 방법론, 명명 규칙 및 일련의 관련 도구입니다. Yandex에서 시작하여 대규모 팀의 효율적인 개발을 위해 설계되었습니다. 이 설명은 핵심 개념 및 이름 지정 시스템에 중점을 둡니다.

BEM은 웹 사이트를 재사용 가능한 구성 요소 블록 모음으로 홍보하여 ​​인터페이스를 만들 수 있습니다. 블록은 그림 2.3과 같이 웹 사이트 섹션 (헤더, 바닥 글, 사이드 바 등)입니다. 여기에서 "블록"은 HTML 페이지 세그먼트를 나타냅니다

그림 2.3. 홈페이지에는 헤더, 메인 및 바닥 글 블록이 포함될 수 있습니다 블록은 중첩 될 수 있습니다. 예를 들어, 헤더 블록에는 로고, 내비게이션 및 검색 양식 블록이 포함될 수 있습니다 (그림 2.4). 바닥 글은 사이트 맵 블록을 포함 할 수 있습니다

그림 2.4. 로고, 내비게이션 및 검색 블록을 포함하는 헤더 블록 요소는 블록보다 더 세분화됩니다. BEM 문서화에 따르면 : "요소는 특정 함수를 수행하는 블록의 일부입니다. 요소는 컨텍스트에 따라 다르며 부모 블록 내에서만 의미가 있습니다."

. 예를 들어, 검색 양식 블록에는 텍스트 입력 요소와 제출 버튼 요소가 포함되어 있습니다 (그림 2.5). 여기서 "요소"는 HTML 요소가 아닌 디자인 요소를 나타냅니다

그림 2.5. 텍스트 입력 및 제출 버튼 요소가있는 검색 블록. 기본 내용 블록에는 기사 목록 블록이 포함될 수 있으며, 여기에는 기사 프로모션 블록이 포함되어 있습니다. 각 프로모션 블록은 이미지, 발췌 및 "더 읽기"요소를 가질 수 있습니다 (그림 2.6). CSS Architecture Block-Element-Modifier (BEM) - SitePoint 그림 2.6. 웹 사이트 기사를위한 홍보 블록 블록과 요소는 BEM의 이름 지정 컨벤션의 핵심을 형성합니다.

블록 이름은 고유 한 프로젝트 전체적이어야합니다. 요소 이름은 블록 내에서 독특해야합니다 블록 변형 (예 : 어두운 검색 창) 클래스 이름에서 수정자를 사용합니다.
블록 및 요소 이름은 두 밑줄로 분리됩니다 (). 수정자는 두 개의 하이픈으로 블록/요소 이름에서 분리됩니다 (). 여기에 Bem 스타일의 검색 양식이 있습니다

어두운 테마 버전 :

해당 CSS :

<div class="search">
  <div class="search__wrapper">
    <label for="s" class="search__label">Search for:</label>
    <input type="text" id="s" class="search__input" />
    <input type="submit" class="search__submit" value="Search" />
  </div>
</div>
마크 업 및 css에서 search--inverse 클래스가 추가되며 교체가 아닙니다. 클래스 선택기 만 사용됩니다. 아동 및 자손 선택자는 허용되지만 수업을 목표로해야합니다. 요소 및 ID 선택기는 피합니다. 이것은 선택기 특이성을 낮게 유지하고 부작용을 방지하며 CSS를 마크 업 패턴과 독립적으로 만듭니다. 고유 한 블록과 요소 이름은 이름 지정 충돌을 방지합니다. 혜택은 다음과 같습니다. search__label--inverse 새로운 팀원의 코드 가독성 및 이해가 향상되었습니다 팀 생산성 증가 명명 충돌 및 부작용 감소 CSS 마크 업 독립성 높은 CSS 재사용 BEM의 범위는이 개요를 넘어 확장됩니다. 공식 BEM 웹 사이트는 포괄적 인 세부 사항, 도구 및 튜토리얼을 제공합니다. "Get Bem"은 이름 지정 컨벤션의 또 다른 훌륭한 리소스입니다.

    (자주 묻는 질문 섹션은 이미 존재하는 정보의 반복이므로 새로운 컨텐츠를 추가하지 않고 출력의 길이를 크게 증가시킬 것이므로 생략됩니다.)

위 내용은 CSS 아키텍처 블록 요소 모디퍼 (BEM)-itepoint의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
드래그 ' 및 Droppin ' 반응에서드래그 ' 및 Droppin ' 반응에서Apr 17, 2025 am 11:52 AM

React Ecosystem은 모두 드래그 앤 드롭의 상호 작용에 중점을 둔 많은 라이브러리를 제공합니다. 우리는 React-dnd, React-beautiful-dnd를 가지고 있습니다.

빠른 소프트웨어빠른 소프트웨어Apr 17, 2025 am 11:49 AM

최근 빠른 소프트웨어에 대해 놀랍도록 상호 연결된 것들이있었습니다.

배경 클립이있는 중첩 된 그라디언트배경 클립이있는 중첩 된 그라디언트Apr 17, 2025 am 11:47 AM

나는 자주 배경 클립을 사용한다고 말할 수 없습니다. I ' D WART IT IT는 일상적인 CSS 작업에서 거의 사용되지 않았습니다. 그러나 나는 Stefan Judis의 게시물에서 그것을 상기시켰다.

React 후크와 함께 requestAnimationFrame 사용React 후크와 함께 requestAnimationFrame 사용Apr 17, 2025 am 11:46 AM

requestAnimationFrame을 사용하여 애니메이션은 쉬워야하지만 React의 문서를 철저히 읽지 않으면 몇 가지 문제가 발생할 수 있습니다.

페이지 상단으로 스크롤해야합니까?페이지 상단으로 스크롤해야합니까?Apr 17, 2025 am 11:45 AM

아마도이를 사용자에게 제공하는 가장 쉬운 방법은 요소의 ID를 대상으로하는 링크 일 것입니다. 그래서 ...처럼 ...

최고 (GraphQL) API는 귀하가 작성한 것입니다최고 (GraphQL) API는 귀하가 작성한 것입니다Apr 17, 2025 am 11:36 AM

들어보세요, 나는 GraphQL 전문가가 아니지만 함께 일하는 것을 좋아합니다. 프론트 엔드 개발자로서 데이터를 노출시키는 방법은 꽤 멋지다. 메뉴와 같습니다

주간 플랫폼 뉴스 : 텍스트 간격 북마크, 최상위 차단, 새로운 앰프 로딩 표시기주간 플랫폼 뉴스 : 텍스트 간격 북마크, 최상위 차단, 새로운 앰프 로딩 표시기Apr 17, 2025 am 11:26 AM

이번 주에 타이포그래피를 검사하기위한 편리한 북마크 인 Roundup, JavaScript 모듈과 Facebook의 Facebook 등을 어떻게 가져 오는지 땜질하기 위해 대기하는 편리한 북마크 인 Roundup과 Facebook의

테두리 반경을 보존하는 동안 상자를 확장하는 다양한 방법테두리 반경을 보존하는 동안 상자를 확장하는 다양한 방법Apr 17, 2025 am 11:19 AM

나는 최근 코데 펜에서 흥미로운 변화를 발견했다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

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

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 채팅 명령 및 사용 방법
1 몇 달 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

SublimeText3 Linux 새 버전

SublimeText3 Linux 새 버전

SublimeText3 Linux 최신 버전

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경