wxss和css有什么区别?

WXSS(WeiXin Style Sheets)和CSS(Cascading Style Sheets)在功能和应用上有很多相似之处,但针对微信小程序的特殊需求,WXSS对CSS进行了一些扩展和修改。以下是WXSS和CSS之间的主要区别:

  1. 尺寸单位
    • WXSS新增了rpx(responsive pixel)尺寸单位,这是一种可以根据屏幕宽度进行自适应的单位。例如,在iPhone 6上,屏幕宽度为375px,共有750个物理像素,因此1rpx等于0.5px或1物理像素。
    • CSS则支持多种长度单位,如rem、em、vh、vw等,这些单位需要手动进行换算。
  2. 样式定义和应用
    • WXSS提供了全局样式和局部样式。全局样式(定义在app.wxss中)会作用于所有小程序页面,而局部样式(定义在页面的wxss文件中)仅会作用于当前页面,并可能覆盖全局页面的样式(遵循就近原则)。
    • CSS则没有直接的全局和局部样式之分,但可以通过将样式定义在HTML文档的header部分或专门的CSS文件中,并在HTML页面中引用,来实现样式的统一管理和应用。
  3. 选择器支持
    • WXSS仅支持部分CSS选择器,包括.class、#id、element、并集选择器、后代选择器、::after和::before等伪类选择器。
    • CSS则支持更广泛的选择器,包括属性选择器、子元素选择器、相邻兄弟选择器等,这些选择器提供了更强大的样式定制能力。
  4. 组件和属性支持
    • WXSS针对微信小程序的组件进行了样式支持的优化,一些样式属性在小程序中有特殊的表现,如flex布局在微信小程序中得到了更好的支持。
    • CSS则主要针对标准的网页元素和布局进行支持,虽然也支持flex布局等现代CSS特性,但在小程序中的表现可能与WXSS有所不同。
  5. 样式继承
    • WXSS不支持样式的继承,每个元素的样式需要单独定义。
    • CSS支持样式的继承,子元素可以继承父元素的样式,这有助于减少重复的代码并提高样式的可维护性。

综上所述,WXSS和CSS在尺寸单位、样式定义和应用、选择器支持、组件和属性支持以及样式继承等方面存在明显的区别。这些区别使得WXSS更适合用于微信小程序的样式定义和美化,而CSS则更适用于标准的网页开发。

相关推荐
F2E_Zhangmo1 小时前
vue长列表,虚拟滚动
前端·javascript·vue.js
睿智的海鸥1 小时前
html+css+js气泡弹窗
javascript·css·html
安冬的码畜日常1 小时前
【D3.js in Action 3 精译】1.2.2 可缩放矢量图形(三)
开发语言·前端·javascript·信息可视化·数据可视化
睿智的海鸥1 小时前
html css js做的在线签到例子
javascript·css·html
LiamHong_1 小时前
简单了解 HTTP 请求方法
前端·后端·http·学习方法·web
蓝胖子的多啦A梦2 小时前
【问题已解决】Vue管理后台,点击登录按钮,会发起两次网络请求(竟然是vscode Compile Hero编译插件导致的)
前端·vue.js·vscode
Lsx-codeShare2 小时前
Nginx Http缓存的必要性!启发式缓存有什么弊端?
前端·javascript·nginx·http·缓存·webpack
南七小僧2 小时前
Android Studio 解决AAPT: error: file failed to compile
前端·javascript·vue.js
陈琦鹏2 小时前
zoom缩放问题(关于ElementPlus、Echarts、Vue3draggable等组件偏移问题)
前端·javascript·echarts
盏茶作酒2 小时前
解决expand-change第一次展开无数据显示与实现
开发语言·前端·javascript