老师代码已经实现了,不过还有几个问题

来源:4-2 编程练习

yarwood

2020-06-26 22:55:31

<!DOCTYPE html>

<html>


<head>

    <meta charset="UTF-8">

    <title>display属性</title>

    <style type="text/css">

    div {

        width: 200px;

    }

    /*补充样式*/

    li{display:none;}

    a{text-decoration:none;color:black;}

    div:hover li{display:inline;}

    </style>

</head>


<body>

    <div>

        <h2><a href="#">家电</a></h2>

        <ul>

            <li>冰箱</li>

            <li>空调</li>

            <li>洗衣机</li>

        </ul>

    </div>

</body>


</html>

h2:hover鼠标经过会不显示,用他的父级就可以显示

ul和li的问题,div:hover ul{display:inline;}显示的是有序列表,但是他的子级li就显示块级的方式

这两个问题我没理解,是只能死记硬背吗?

写回答

3回答

qq_慕运维6460539

2020-07-05

第一个问题:我理解的是因为CSS选择器的书写方式导致你这样写,是一个后代选择器,而ul和h2是同级的,ul并不是h2的子标签。所以h2:hover li...就没效果,hover只能写到他的父标签div上。

第二个问题:

因为li也是块级元素,如果是ul{display:inline},那li依旧是块级元素,单独占据一行。

我也正在学习,一起加油!!!!

0

好帮手慕粉

2020-06-27

同学你好,关于同学的问题回答如下:

1、在第一次代码中,设置了li为inline,也就是行内元素,所以会在一行显示:

http://img.mukewang.com/climg/5ef71f2409511b4703730116.jpg

2、在同学的第二次代码中,设置的是ul,display: inline这个属性并不能作用到li标签上。所以不会在一行显示:
http://img.mukewang.com/climg/5ef71faf09f2cc5804460101.jpg

祝学习愉快~

0

好帮手慕粉

2020-06-27

同学你好,关于同学的问题回答如下:

1、h2:hover  li这样的方式,鼠标经过会不显示,是因为这个选择器的意思是:当鼠标移上h2标签时,其下的子元素li显示出来,但是li标签并不是h2的子元素,所以选择不到。

2、这个问题老师不太明白同学说的意思呢:
http://img.mukewang.com/climg/5ef6eb3f095190d208120100.jpg

同学可以再详细描述一下,或者将对应的代码粘贴上来。

祝学习愉快~

0
harwood
h 这里用ul,他隐藏的是多行的列表形式显示的,但是用li就是一行显示的,两个代码看下就明白我的意思了,都是有序列表,怎么用ul和li会有差别 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>display属性</title> <style type="text/css"> div { width: 200px; } /*补充样式*/ ul{display:none;} a{text-decoration:none;color:black;} div:hover ul{display:inline;} </style> </head> <body> <div> <h2><a href="#">家电</a></h2> <ul> <li>冰箱</li> <li>空调</li> <li>洗衣机</li> </ul> </div> </body> </html>
h020-06-27
共1条回复

0 学习 · 40143 问题

查看课程