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

为何嵌套div中的子div方块不显示?仅文字可见问题排查

问题解决:CSS样式失效与元素默认拖拽问题

1. 修复.foreground方块样式不显示的问题

你的CSS代码里,每个选择器闭合大括号后多了多余的分号(};),这会导致CSS解析器报错,进而让.foreground的样式无法生效。只要把这些多余的分号去掉即可。

修正后的完整代码:

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>My Website</title>
    <link rel="stylesheet" href="./style.css">
    <link rel="icon" href="./favicon.ico" type="image/x-icon">
  </head>
  <body>
    <main>
        <h1>Welcome to My Website</h1>
        <h2>Welcome</h2>
        <div class="background">
          <div class="foreground">foreground</div>
        </div>
    <style>
      .background {
        width: 300px;
        height: 300px;
        background-color: red;
      }
      .foreground {
        width: 100px;
        height: 100px;
        background-color: blue;
      }
    </style>
  </body>
</html>

2. 解决元素未设置拖拽属性却可拖拽的问题

浏览器默认允许选中的文本、图片等元素被拖拽,这是原生行为,不是异常。要禁用这个效果,有两种常用方法:

  • 方法一:给元素添加属性
    给需要禁止拖拽的元素加上draggable="false"属性,示例:
    <div class="foreground" draggable="false">foreground</div>
    
  • 方法二:用CSS全局禁用
    如果想让页面所有元素都不能被拖拽,可以添加以下CSS规则:
    * {
      user-select: none; /* 禁止文本选中 */
      -webkit-user-drag: none; /* 禁用webkit内核浏览器的元素拖拽 */
      draggable: false; /* 全局设置不可拖拽 */
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 15:03:21