Tôi đã được thông báo rằng tôi đã sai khi viết mã như tôi có dưới đây. Tôi cho rằng các phần tử không thể chứa các khối và b.e.m.Các phần tử có thể chứa các khối trong bem
<ul class="b-nav">
<li class="b-nav__item">
<a href="#" class="b-nav__item__link"> Item </a>
</li>
</ul>
Tôi đã nghĩ về cách viết theo cách này nhưng cũng không hiển thị thứ bậc.
<ul class="b-nav">
<li class="b-nav__item">
<a href="#" class="b-nav__link"> Item </a>
</li>
</ul>
Đây là một cách khác nhưng với tôi, điều đó có vẻ tệ hơn ví dụ trên.
<ul class="b-nav">
<li class="b-nav__item">
<a href="#" class="b-link"> Item </a>
</li>
</ul>
Cách tôi viết mã sai? Nếu vậy tại sao, và thay thế tốt nhất là gì.
Sự khác biệt giữa hai mẫu đầu tiên là gì? Và, bạn chỉ hỏi về tên lớp? – xec
Tôi không thể thấy sự khác biệt hoặc sai lầm trong những gì bạn đã làm. –
@EricHarms Có gì sai khi sử dụng BEM cho hầu hết các trang web trong thế giới thực. Nó thường tốt hơn để sử dụng các tính năng CSS cốt lõi như bộ chọn con. Vì vậy, HTML của bạn nên thực sự giống như sau: '
- Item
' và bộ chọn CSS của bạn phải giống như 'UL.nav> LI',' UL.nav A' hoặc 'UL. nav> LI> A'. –