You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在summary标签不可见时隐藏details的默认显示内容?

解决方法

当<summary>被v-if隐藏时,浏览器会自动给<details>生成默认的summary内容(显示“Details”和图标),可以通过以下几种方式解决:

方法1:直接控制<details>的渲染

如果不需要在isvisible为true时保留<details>元素,直接给<details>加上v-if条件,彻底隐藏整个组件:

<template>
  <details v-if="!isvisible">
    <summary>Hello everyone</summary>
    <!-- 这里放details的展开内容 -->
  </details>
</template>
<script>
export default {
  data() {
    return {
      isvisible: true
    }
  }
}
</script>
<style>
details > summary {
  list-style: none;
  -webkit-appearance: none;
}

details > summary::-webkit-details-marker {
  display: none;
}
</style>

方法2:用空summary占位并隐藏

如果需要保留<details>元素(比如里面有内容需要保留但不显示summary),可以添加一个空的<summary>作为v-else分支,再通过CSS隐藏它的占位空间:

<template>
  <details>
    <summary v-if="!isvisible">Hello everyone</summary>
    <summary v-else class="empty-summary"></summary>
    <!-- 这里放details的展开内容 -->
  </details>
</template>
<script>
export default {
  data() {
    return {
      isvisible: true
    }
  }
}
</script>
<style>
details > summary {
  list-style: none;
  -webkit-appearance: none;
}

details > summary::-webkit-details-marker {
  display: none;
}

.empty-summary {
  height: 0;
  overflow: hidden;
  padding: 0;
  border: none;
}
</style>

方法3:用CSS :has选择器控制样式(需注意浏览器兼容性)

利用CSS的:has选择器,识别出内部summary被隐藏的details,再隐藏默认的summary区域:

<template>
  <details>
    <summary v-if="!isvisible">Hello everyone</summary>
    <!-- 这里放details的展开内容 -->
  </details>
</template>
<script>
export default {
  data() {
    return {
      isvisible: true
    }
  }
}
</script>
<style>
details > summary {
  list-style: none;
  -webkit-appearance: none;
}

details > summary::-webkit-details-marker {
  display: none;
}

/* 当details内的summary被隐藏时,隐藏默认的summary区域 */
details:has(summary[style*="display: none"]) {
  height: 0;
  overflow: hidden;
  visibility: hidden;
}
</style>

补充说明

浏览器的默认行为是:当<details>标签内没有显式的<summary>元素,或者<summary>被设置为display: none时,会自动生成一个默认的summary节点,这就是你看到“Details”文字和图标的原因。上面的方法分别从条件渲染和样式控制两个角度解决了这个问题。

内容的提问来源于stack exchange,提问作者user18286913

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 09:45:29