麻烦老师检查一下

来源:4-7 编程练习

bao_

2020-01-13 17:39:33

<!DOCTYPE html>

<html>


<head>

<meta charset="UTF-8">

<title>display属性</title>

<style type="text/css">

body,

h3,

ul {

margin: 0px;

padding: 0px;

}


.big {

margin: 0 auto;

width: 300px;

height: 400px;

}


h3 {

font-family: "黑体";

text-align: center;

background-color: #cdcdcd;

width: 110px;

border: 1px solid #ccc;

font-size: 18px;

font-weight: bold;

padding: 5px 10px;

}


ul li {

list-style-type: none;

background-color: #fff;

/* border: 1px solid #ccc; */

width: 130px;

text-align: center;

font-family: "宋体";

display: none;

}


.div1:hover .elec {

display: block;

}


.div2:hover .wash {

display: block;

}


.div3:hover .clothes {

display: block;

}


</style>

</head>


<body>

<div class="big">

<div class="div1">

<h3>家电</h3>

<ul class="elec">

<li>冰箱</li>

<li>洗衣机</li>

<li>空调</li>

</ul>

</div>

<div class="div2">

<h3>洗护</h3>

<ul class="wash">

<li>洗衣液</li>

<li>消毒液</li>

<li>柔顺剂</li>

</ul>

</div>

<div class="div3">

<h3>衣物</h3>

<ul class="clothes">

<li>衬衫</li>

<li>裤子</li>

<li>卫衣</li>

</ul>

</div>

</div>

</body>


</html>


写回答

4回答

好帮手慕慕子

2020-01-14

同学你好,对于你的问题解答如下:

  1. div > p 是选择所有父级是 <div> 元素的 <p> 元素,第二个div下p标签父元素是span,所以无法选择。

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

  2. 是的,相邻选择器+只能选择相邻的元素。

    同学理解是对的, div+p  如果这个p标签上面有别的元素, 就不能选中p标签了

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~ 

1
hao_
h 谢谢你美女
h020-01-14
共1条回复

好帮手慕慕子

2020-01-14

同学你好,对于你的问题解答如下:

  1. ~ 表示兄弟选择器。语法:elem1~elem2 选择器匹配出现在 elem1 后面的 elem2。(elem1 和 elem2 这两种元素必须具有相同的父元素,但 elem2 不必紧跟在 elem1 的后面)

    示例:p~ ul 设置同一父元素下的 p 元素之后的每一个 ul 元素的背景颜色。

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

    效果图:

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

  2. > 表示子选择器。语法:elem>elem 选择器用于选择特定父元素下直接子元素。

    示例: div  >p 选择所有父级是 <div> 元素的 <p> 元素:

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

    效果图:

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

  3. + 表示相邻选择器. 语法: elem+elem 选择器用于选择指定的第一个元素之后紧跟的元素。

    示例: div+p 选择所有紧接着 <div> 元素之后的第一个 <p> 元素.

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

    效果图:

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

这些选择器,在CSS3阶段会有详细的讲解,同学可以先测试理解下。

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~


1
hao_
h 子选择器>第二个div标签后面的p标签怎么没有变化呀 相邻选择器+ div+p 如果这个p标签上面有别的元素是不是就不可以了 例如 <div></div> <span></span> <p></p>
h020-01-14
共1条回复

好帮手慕慕子

2020-01-13

同学你好,因为初始设置的li隐藏,鼠标移入家电,修改的是ul的display属性,导致对应的列表没有显示,效果不对。

建议:调整为一开始是ul隐藏

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

代码存在的其他问题,可以参考如下步骤修改:

1、给所有标题设置值设置下边框,去掉最后一个标题的下边框。

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

2、调整外层盒子的宽度等于子元素的宽度,设置边框样式,然后去掉高度,让其有子元素撑开高度即可

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

3、可以通过找到big下的直接子元素div, 给这个div添加hover,让其对应ul显示出来, 简化代码的书写。

另,可以给所有的显示的ul设置下边框,最后一个ul设置上边框,效果实现回更好。

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

4、建议优化:去掉li的width属性,让自适应父元素的宽度,然后去掉文字居中属性,通过padding-left属性设置文字左侧空白间距,让文字左对齐显示。示例:

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

效果图:

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

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

1
hao_
h 非常感谢老师的细心回答 我想问一下CSS中 的~ > 还有 + 能详细说一下嘛
h020-01-14
共1条回复

bao_

提问者

2020-01-14

子选择器>第二个div标签后面的p标签怎么没有变化呀
相邻选择器+  div+p  如果这个p标签上面有别的元素是不是就不可以了 
例如 <div></div>
<span></span>
<p></p>

0

0 学习 · 40143 问题

查看课程