收藏
回答

组件的 wxss 里 给 page 设置样式可以影响到外面的页面 ?

框架类型 问题类型 终端类型 微信版本 基础库版本
小程序 Bug 工具 6.7.0 2.1.1


官方文档倒数第二个例子中,定义的组件的 wxss 设置了 page {} 的样式,并且影响到了外面页面的样式,而且在 page 的 wxss 同时设置了 page{} 样式时,是组件内定义的样式等级高? 但是文档中有说道:“组件对应 wxss 文件的样式,只对组件wxml内的节点生效。” 初学者,感觉很奇怪,不知道是否是自己理解出错


最后一次编辑于  2018-07-10
回答关注问题邀请回答
收藏

1 个回答

  • CLOUD
    CLOUD
    2018-07-10

    app.wxss是设置总(全局)的样式,每一个页面如果有创建相对应的wxss,就会使用里面的样式,那个页面如果没有创建对应wxss,就可以用到总的样式。还有要让页面生效记得在app.json里面page下设置你的页面的路径,比如index和logs的页面

    "pages/index/index",

    "pages/logs/logs"

    2018-07-10
    有用
    回复 4
    • 蔡泽胜
      蔡泽胜
      2018-07-10

      十分感谢你的回答,但是我的问题好像不太一样: 1. 我是在组件的 wxss 里面设置了 page{ background: black },而组件后面被 index 引用,但是我理解组件内部的样式应该是自己独有的,不会影响到其父元素(即调用它的 index 页面)的样式,而你说的是 app.wxss 影响其内部的 index 页面的样式,好像不填一样。 2. 还有个问题,当我在 index 页面里面同样设置了 page{ background: yellow },起作用的还是组件的 wxss 里面设置的样式。

      2018-07-10
      回复
    • CLOUD
      CLOUD
      2018-07-10回复蔡泽胜

      也许你没有跳转页面,在你第一个那个component页面,设置一个按钮试试,用这个按钮跳转到index页面,代码如下

      wxml的代码:

      <button id="transition" bindtap="transition">跳转

      </button>

      然后对应的js的page里添加跳转页面的函数如下

      transiton: function () {

      wx.navigateTo({

      url: '../index/index'

      })

      },



      2018-07-10
      回复
    • 蔡泽胜
      蔡泽胜
      2018-07-10回复CLOUD

      如下图,这个页面确实是index 页面(点击按钮后会有切换到这个页面的动画,并且下面有页面加载的log信息)。还有个现象,在保存的时候会有一闪而过的黄色背景,然后才变成黑色,也就是 index 的 wxss 是有生效一下才被覆盖的,所以组件加载出来后就覆盖了 index 的 page 样式

      2018-07-10
      回复
    • 蔡泽胜
      蔡泽胜
      2018-07-10回复CLOUD

      这个是这个demo的代发片段 wechatide://minicode/UcSm6NmY7rcK

      2018-07-10
      回复
登录 后发表内容