目录
1. 语法差异
2. 尺寸单位
3. 样式导入
WXSS 示例代码:
CSS 示例代码:
4. 组件和属性的支持
总结
WXSS (WeiXin Style Sheets) 和 CSS (Cascading Style Sheets) 都是用于描述文档样式的语言,但它们在微信小程序和网页开发中有一些关键的区别。以下是它们之间的主要差异,并附有代码示例:
1. 语法差异
WXSS 和 CSS 的语法在大多数情况下是相似的,但 WXSS 有一些特定的扩展和限制。例如,WXSS 支持一些特定的选择器,如 .class
、#id
、element
、element,element
、:pseudo-class
、::pseudo-element
等,但它不支持 CSS 的某些高级选择器,如属性选择器 [attribute]
。
2. 尺寸单位
WXSS 引入了新的尺寸单位 rpx
(responsive pixel),它可以根据屏幕宽度进行自适应。在宽度为 750rpx 的屏幕下,1rpx 等于 1个物理像素。而在其他屏幕下,rpx 会根据屏幕宽度进行等比缩放。CSS 则使用传统的像素(px)、百分比(%)、em、rem 等单位。
3. 样式导入
WXSS 支持使用 @import
语句来导入外部样式表,但和 CSS 的 @import
相比,它有一些限制和特定的语法。
WXSS 示例代码:
/* 使用 rpx 单位 */ | |
.container { | |
width: 750rpx; /* 在宽度为750rpx的屏幕下,宽度为整个屏幕宽度 */ | |
height: 200rpx; | |
background-color: #f0f0f0; | |
display: flex; | |
justify-content: center; | |
align-items: center; | |
} | |
/* 导入其他 WXSS 文件 */ | |
@import "common.wxss"; |
CSS 示例代码:
/* 使用传统的单位 */ | |
.container { | |
width: 100%; /* 宽度为父元素的100% */ | |
height: 200px; | |
background-color: #f0f0f0; | |
display: flex; | |
justify-content: center; | |
align-items: center; | |
} | |
/* 导入其他 CSS 文件 */ | |
@import url('common.css'); |
4. 组件和属性的支持
WXSS 针对微信小程序的组件进行了样式支持的优化,一些样式属性在小程序中有特殊的表现,如 flex
布局在微信小程序中得到了更好的支持。CSS 则主要针对标准的网页元素和布局进行支持。
总结
WXSS 和 CSS 在语法上大体相似,但由于它们分别服务于微信小程序和网页开发,因此在单位、选择器支持、样式导入和组件样式支持方面存在明显的差异。在实际开发中,需要根据开发平台(微信小程序或网页)选择合适的样式语言。