深入理解BEM与BESS在web-less Sitio Estructurado的应用
需积分: 9 131 浏览量
更新于2024-12-06
收藏 16KB ZIP 举报
资源摘要信息:"web-less:BEM和BESS的Sitio Estructurado con"
本文将深入探讨BEM(Block Element Modifier)和BESS(Block Element Sub-element Selector)这两种CSS架构模式,以及它们如何在不使用传统web框架的情况下构建一个结构化的网站。同时,将结合HTML的基础知识,详细阐述这两种模式如何实现前端页面的模块化和组件化。
### BEM简介
BEM是一种CSS命名约定,旨在帮助开发人员创建可扩展的前端代码库。它由以下几个部分组成:
- **Block(块)**: 这是组件的最高层级,可以是一个独立的组件,例如导航菜单、按钮或者卡片。
- **Element(元素)**: 这是块的一部分,不能单独存在。例如,按钮块可能包含文本、图标等元素。
- **Modifier(修饰符)**: 这用来改变块或元素的外观或行为。例如,按钮可能有一个激活状态或一个禁用状态的修饰符。
BEM的命名约定非常独特,通常采用以下格式:`block__element--modifier`。
### BESS简介
BESS是BEM的一个变体,它在元素层级下进一步细分了子元素层级,即`block__element--sub-element`。这允许开发者在组件内部创建更细致的结构。
- **Sub-element(子元素)**: 这是元素的一部分,提供了额外的层级,让CSS选择器可以更具体地选中组件的内部结构。
BESS的加入,为组件的内部结构提供了更丰富的定义方式,使得CSS的模块化更加精细。
### 在Sitio Estructurado con中的应用
在不使用传统web框架的情况下,通过BEM和BESS可以构建出高度模块化和可维护的前端页面。以HTML为基础,可以定义清晰的组件和子组件结构,然后通过BEM和BESS约定来编写CSS,确保样式的独立性和可重用性。
HTML文件中的结构大致如下:
```html
<section class="card">
<div class="card__image">
<img src="image.jpg" alt="Card Image">
</div>
<div class="card__content">
<h3 class="card__title">Card Title</h3>
<p class="card__description">Card description...</p>
<button class="card__action--primary">Primary Action</button>
<button class="card__action--secondary">Secondary Action</button>
</div>
</section>
```
在CSS文件中,我们可以这样应用BEM和BESS:
```css
.card {
display: flex;
flex-direction: column;
border: 1px solid #ccc;
border-radius: 8px;
overflow: hidden;
}
.card__image {
width: 100%;
/* Other styles */
}
.card__content {
padding: 1rem;
/* Other styles */
}
.card__title {
margin: 0;
color: #333;
/* Other styles */
}
.card__description {
color: #666;
/* Other styles */
}
.card__action--primary {
background-color: #007bff;
color: white;
/* Other styles */
}
.card__action--secondary {
border: 1px solid #007bff;
color: #007bff;
/* Other styles */
}
```
通过这种结构化的方式,每个组件都是一个独立的单元,具有自己的样式和功能,且不会与其他组件冲突。这种做法极大地提高了代码的可维护性和可扩展性。
### 总结
BEM和BESS为前端开发提供了一种清晰的架构模式,它们通过独特的命名约定将HTML元素组织成独立且可重用的组件。在不使用web框架的环境下,它们使得HTML和CSS代码的管理变得更加高效和直观。这种模式鼓励开发者编写模块化和结构化的前端代码,从而在维护和扩展项目时大大提高了效率。因此,掌握BEM和BESS对于任何前端开发者而言,都是一种宝贵的技能。
2021-05-24 上传
125 浏览量
2021-05-02 上传
2021-03-11 上传
2021-03-16 上传
2021-05-18 上传
103 浏览量
2021-06-02 上传
2021-05-23 上传
Aurora曙光
- 粉丝: 914
- 资源: 4528
最新资源
- 高质量c++ c编程指南
- WPF技术白皮书 下一代互联网主流开发技术
- 整合Flex和Java--配置篇.pdf
- unix 编程艺术指导
- 词法分析器的设计与实现
- TD7.6管理员指南
- ACE Programming Guide
- 手机游戏门户网站建设方案
- 搜索引擎技术手工索引
- 衡水信息港投资计划书 网站建设方案
- 地方门户网站策划书(转载)
- [计算机科学经典著作].SAMS.-.Tricks.Of.The.Windows.Game.Programming.Gurus.-.Fundamentals.Of.2D.And.3D.Game.Programming.[eMule.ppcn.net].pdf
- Embedded_Linux_on_ARM.pdf
- SQL语言艺术(英文版)
- Windows File Systems _FAT16, FAT32, NTFS_.pdf
- C Programming Language 2nd Edition(K & R).pdf