当前位置: 首页 > 知识库问答 >
问题:

前端 - 给标签添加了动态样式,只要触发某个事件就会传入布尔值,实现样式改变?

仲鸿风
2023-05-21
<div class="content" :class="{ active:isCollapse }">
      <MyHeader @changeMenu="changeMenu" :isCollapse="!isCollapse"></MyHeader>
data () {
    return {
      isCollapse: false
    }
  },
  methods: {
    changeMenu () {
      this.isCollapse = !this.isCollapse
    }
  }
 .content {
    padding-left: 200px;
    .active {
    padding-left: 65px;
  }
  }

控制台:

<style>
#app .content {
    padding-left: 200px;
}

触发了也没改变内边距


解决了,写外边。不过为什么里面不生效

 .content {
    padding-left: 200px;
  }
.active {
    padding-left: 65px;
  }

共有3个答案

谭鹏云
2023-05-21

不要用后代选择器的写法。

要写成同级。

.content .active.active.content 后代元素时生效。

.content.active.content.active 在同一个元素上时生效。


同级的 scss写法:

.content {
  padding-left: 200px;

  &.active {
    padding-left: 65px;
  }
}

转化为 css:

.content { padding-left: 200px; }
.content.active { padding-left: 65px; }

这是后代选择器的写法:

.content {
  padding-left: 200px;

  .active {
    padding-left: 65px;
  }
}

转换成 css,两者之间是后代选择器的关系。

.content { padding-left: 200px; }
.content .active { padding-left: 65px; }
陆安国
2023-05-21

你那种嵌套的写法,如果active类名所属元素是它的子元素是生效的,但是现在是同一个元素,写成平级就行

郑衡
2023-05-21

写里边等同于.content .active注意有空格,也就是他是后代选择器,即content的子孙中(不含自身)有active这个class的元素,而你模版中是同一元素,同一元素是要连在一起即.content.active没有空格。写成scss就是:

.content {
    &.active{

    }
}

scss文档多看看

 类似资料:
  • shadow DOM 可以包含 <style> 和 <link rel="stylesheet" href="…"> 标签。在后一种情况下,样式表是 HTTP 缓存的,因此不会为使用同一模板的多个组件重新下载样式表。 一般来说,局部样式只在 shadow 树内起作用,文档样式在 shadow 树外起作用。但也有少数例外。 :host :host 选择器允许选择 shadow 宿主(包含 shado

  • 本文向大家介绍Angular5给组件本身的标签添加样式class的方法,包括了Angular5给组件本身的标签添加样式class的方法的使用技巧和注意事项,需要的朋友参考一下 在Angular 5给组件本身的标签添加样式有两种方法: 方式一:使用@Component的host属性 在host配置里添加属性,等同于标签上绑定属性的用法一样。 设置style: '[style.color]': "'r

  • 本文向大家介绍JS脚本实现动态给标签控件添加事件的方法,包括了JS脚本实现动态给标签控件添加事件的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS脚本实现动态给标签控件添加事件的方法。分享给大家供大家参考,具体如下: PS:代码排版貌似不太尽如人意,这里小编给大家推荐几款代码格式化工具,相信在以后的编程开发中能够用得到: C语言风格/HTML/CSS/json代码格式化美化工具:

  • 添加样式的方案 在 dva 中,所有的页面都是基于组件的。因此,我们希望样式依附于组件,不同组件的样式相互之间不会造成污染。 在 dva 中,我们推荐使用 CSS Modules 的解决方案。配合 webpack 的 css-loader 进行打包,会为所有的 class name 和 animation name 加 local scope,避免潜在冲突。 样式引入示例 参考 example 中

  • 问题内容: 我想要具有不同状态的实体(控件或属性),可以通过CSS对其进行着色。 例如,以TextField为例,它可以包含两种值,正常值和错误值。一旦包含错误值,则应显示为“红色”。但是实际颜色应该可以从CSS定义。 这可能实现吗? 我发现了很多接口或类,但是它们看起来可以接受任何样式。 我可以编写和实体,从价值中衍生出风格吗? 问题答案: 您可以使用: 用这样的CSS: 虽然老实说,我不能完全

  • 柱形图,当该值为0时,加最小高度,然后改造成图中的样式。单纯添加最小高度会贴着轴线而不是居中 有大佬给一下解决思路吗?