Ivan_Cxy 2022-05-10 14:56 采纳率: 75%
浏览 93
已结题

html页面绝对定位不生效的问题

css第3行,给ul添加了绝对定位,想要单击点开ul后出现在图片上方,而不是将文字顶下去,但是没有达到预期的效果,是定位出了问题吗?

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>植物大战僵尸</title>
    <link rel="stylesheet" type="text/css" href="css/index.css">
    <script type="text/javascript" src="js/js1.js"></script>
</head>
<body>
    <div class="header">
        <div class="logo">
            <img src="image/logo.png" id="logo">
        </div>
        <div class="menu" onmouseleave="show_menu1()">
            <div class="menu_title" onclick="show_menu()"><a href="#">内容分类</a></div>
            <ul id="menu1">
                <li>现实主义</li>
                <li>抽象主义</li>
            </ul>
        </div>
        <div class="auth">
            <ul>
                <li><a href="#">登录</a></li>
                <li><a href="#">注册</a></li>
            </ul>
        </div>
    </div>
    <div class="content">
        <div class="banner">
            <img src="image/banner.jpg" class="banner-img" id="banner-img">
        </div>
    </div>
    <div class="footer"></div>
</body>
</html>
```css
*{
    padding: 0px;
    margin: 0px;
}
a{
    text-decoration: none; //删除超链接的下划线
}
#logo{
    width: 260px;
    height: 65px;
}
#banner-img{
    width: 1500px;
}
.header .logo{
    position: relative;
    float: left;
}
.header{
    margin: 25px auto;
    width: 1600px;
}
.header .menu ul{
    display: none;
    list-style: none; //删除列表项前的圆点
    position: absolute;    /*width: 80px;
    opacity: 0.5; //透明效果
    background-color: white;*/
}
.header .menu ul li{
    margin-top: 20px;
    text-align: center;
}
.header .menu{
    position: relative;
    float: left;
    margin-top: 18px;
    margin-left: 40px;
}
.header .menu:hover ul{
    display: block;
}
.header .menu .menu_title{
    border-bottom: 1px solid black;
    padding-bottom: 20px;
    width: 80px;
    text-align: center;
}
.header .auth{
    float: right;
    margin-right: 120px;
}
.header .auth ul li{
    float: left;
    margin-right: 60px;
    margin-top: 18px;
    list-style: none;
}
.content{
    width: 1600px;
    margin: 25px auto;
}
.content .banner .banner-img{
    margin-top: 30px;

}

```javascript
/*
单击内容分类,实现显示、隐藏
 */
var flag=true;
function show_menu(){
    var menu1=document.getElementById("menu1");
    
    if(flag){
        menu1.style.display="block";
        flag=false;
    }else{
        menu1.style.display="none";
        flag=true;
    }
}

/*
鼠标移开实现隐藏
 */
function show_menu1(){
    var menu1=document.getElementById("menu1");
    menu1.style.display="none";
}

  • 写回答

4条回答 默认 最新

  • CSDN专家-showbo 2022-05-10 15:07
    关注

    css的注释是/**/,不是//,css样式出问题了。截图中的2个地方注释有问题,

    img


    改下面就可以了,content建议清除浮动,加上clear:both

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>植物大战僵尸</title>
        <style>
    
            * {
                padding: 0px;
                margin: 0px;
            }
    
            a {
                text-decoration: none;
                /*删除超链接的下划线*/
            }
    
            #logo {
                width: 260px;
                height: 65px;
            }
    
            #banner-img {
                width: 1500px;
            }
    
            .header .logo {
                position: relative;
                float: left;
            }
    
            .header {
                margin: 25px auto;
                width: 1600px;
            }
    
                .header .menu ul {
                    display: none;
                    list-style: none; /*//删除列表项前的圆点*/
                    position: absolute; /*width: 80px;
        opacity: 0.5; //透明效果
        background-color: white;*/
                }
    
                    .header .menu ul li {
                        margin-top: 20px;
                        text-align: center;
                    }
    
                .header .menu {
                    position: relative;
                    float: left;
                    margin-top: 18px;
                    margin-left: 40px;
                }
    
                    .header .menu:hover ul {
                        display: block;
                    }
    
                    .header .menu .menu_title {
                        border-bottom: 1px solid black;
                        padding-bottom: 20px;
                        width: 80px;
                        text-align: center;
                    }
    
                .header .auth {
                    float: right;
                    margin-right: 120px;
                }
    
                    .header .auth ul li {
                        float: left;
                        margin-right: 60px;
                        margin-top: 18px;
                        list-style: none;
                    }
    
            .content {
                width: 1600px;
                margin: 25px auto;clear:both
            }
    
                .content .banner .banner-img {
                    margin-top: 30px;
                }
        </style>
        <script>
    
            var flag = true;
            function show_menu() {
                var menu1 = document.getElementById("menu1");
    
                if (flag) {
                    menu1.style.display = "block";
                    flag = false;
                } else {
                    menu1.style.display = "none";
                    flag = true;
                }
            }
    
            /*
            鼠标移开实现隐藏
             */
            function show_menu1() {
                var menu1 = document.getElementById("menu1");
                menu1.style.display = "none";
            }
    
        </script>
    </head>
    <body>
        <div class="header">
            <div class="logo">
                <img src="image/logo.png" id="logo">
            </div>
            <div class="menu" onmouseleave="show_menu1()">
                <div class="menu_title" onclick="show_menu()"><a href="#">内容分类</a></div>
                <ul id="menu1">
                    <li>现实主义</li>
                    <li>抽象主义</li>
                </ul>
            </div>
            <div class="auth">
                <ul>
                    <li><a href="#">登录</a></li>
                    <li><a href="#">注册</a></li>
                </ul>
            </div>
        </div>
        <div class="content">
            <div class="banner">
                <img src="image/banner.jpg" alt="banner" class="banner-img" id="banner-img">
            </div>
        </div>
        <div class="footer"></div>
    </body>
    </html>
    
    

    img


    有其他问题可以继续交流~

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 5月18日
  • 已采纳回答 5月10日
  • 修改了问题 5月10日
  • 创建了问题 5月10日

悬赏问题

  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
  • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
  • ¥16 mybatis的代理对象无法通过@Autowired装填
  • ¥15 可见光定位matlab仿真
  • ¥15 arduino 四自由度机械臂
  • ¥15 wordpress 产品图片 GIF 没法显示
  • ¥15 求三国群英传pl国战时间的修改方法
  • ¥15 matlab代码代写,需写出详细代码,代价私
  • ¥15 ROS系统搭建请教(跨境电商用途)
  • ¥15 AIC3204的示例代码有吗,想用AIC3204测量血氧,找不到相关的代码。