关于float和clear元素的初步认识
1、css鼠标悬浮显示不同内容
html代码:
<div class="showRed">显示红盒</div>
<div class="showBlue">显示蓝盒</div>
<div class="box1"></div>
<div class="box2"></div>
css代码:
box1, .box2{
height: 150px;
width: 150px;
display: none;
}
.box1{
float: left;
background-color: red;
}
.box2{
background-color: blue;
}
.showRed:hover{
cursor: pointer;
background-color: red;
}
.showRed:hover ~ .box1{
/*使用兄弟选择器 */
display: block;
}
.showBlue:hover{
cursor: pointer;
background-color: blue;
}
.showBlue:hover ~ .box2{
/*使用兄弟选择器 */
display: block;
}
效果图:
省略。。。
2、二级菜单
1、二级菜单一:使用::after
html代码:
<ul>
<!-- 一级导航 -->
<li>
<p>JavaEE</p>
<!-- 二级导航 -->
<ul>
<li>CoreJava</li>
<li>Linux</li>
<li>XML</li>
<li>Oracle</li>
</ul>
</li>
<!-- 一级导航 -->
<li>
<p>WebUI</p>
<ul>
<li>Html</li>
<li>CSS</li>
<li>Javascript</li>
</ul>
</li>
<!-- 一级导航 -->
<li>
<p>IOT</p>
</li>
</ul>
</div>
<!-- 导航结束 -->
css代码:
/*重置*/
body,ul ,p{
margin: 0;
}
ul {
padding: 0;
list-style: none;
}
/*导航*/
.nav {
background:#333;
color: #ededed;
}
.nav > ul::after {
content: "";
display: block;
clear: both;
}
.nav li {
line-height: 3em;
}
.nav > ul > li {
float: left;
width: 100px;
text-align: center;
position: relative;
}
.nav > ul > li:hover {
background-color: #ededed;
color: #333;
}
/* 二级导航容器 */
.nav > ul > li > ul {
display: none;
position: absolute;
background-color: #ededed;
color: #333;
width: 100%;
}
.nav > ul > li:hover > ul {
display: block;
}
</style>
2、不使用,给nav设置一个固定高度
html代码
<p>给nav设置一个高度的二级导航菜单</p>
<div class="nav">
<ul>
<li>Java
<ul>
<li>coreJava</li>
<li>linux</li>
<li>XML</li>
</ul>
</li>
<li>WebUI
<ul>
<li>html</li>
<li>css</li>
<li>javascript</li>
</ul>
</li>
<li>BigData</li>
</ul>
</div>
css代码
body,ul{
margin: 0;
}
ul{
padding: 0;
list-style: none;
}
.nav{
background-color: #888;
height: 32px;
/*给nav加一个固定高度*/
color: lightblue;
}
.nav ul li{
float: left;
width: 100px;
text-align: center;
position: relative;
z-index: 999;
}
.nav li{
line-height: 2em;
}
.nav>ul>li>ul{
display: none;
background-color: #333;
position: absolute;
}
.nav >ul >li:hover{
background-color: #333;
}
.nav >ul>li:hover>ul{
display: block;
/* position: absolute; */
}
3、完整练习
代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>选择器</title>
<link rel="stylesheet" href="">
<style type="text/css" media="screen">
body,ul{
margin: 0;
}
ul{
padding: 0;
list-style: none;
}
.nav{
background-color: #888;
height: 32px;
/*给nav加一个固定高度*/
color: lightblue;
}
.nav ul li{
float: left;
width: 100px;
text-align: center;
position: relative;
z-index: 999;
}
.nav li{
line-height: 2em;
}
.nav>ul>li>ul{
display: none;
background-color: #333;
position: absolute;
}
.nav >ul >li:hover{
background-color: #333;
}
.nav >ul>li:hover>ul{
display: block;
/* position: absolute; */
}
/* 使用伪元素实现二级菜单 */
.head{
background-color: green;
color: gray;
}
.head ul{
margin: 0;
padding: 0;
list-style: none;
}
.head li{
line-height: 3em;
}
.head>ul>li{
float: left;
position: relative;
width: 100px;
text-align: center;
}
.head>ul::after{
content: "";
display: block;
clear: both;
}
.head>ul>li:hover{
background-color: #ccc;
}
.head>ul>li:hover>ul{
display: block;
}
.head>ul>li>ul{
display: none;
width: 100%;
position: absolute;
background-color: #ccc;
}
/* .. 作业二*/
.box1, .box2{
height: 150px;
width: 150px;
display: none;
}
.box1{
float: left;
background-color: red;
}
.box2{
background-color: blue;
position: absolute;
}
.showRed:hover{
cursor: pointer;
background-color: red;
}
.showRed:hover ~ .box1{
/*使用兄弟选择器 */
display: block;
}
.showBlue:hover{
cursor: pointer;
background-color: blue;
}
.showBlue:hover ~ .box2{
/*使用兄弟选择器 */
display: block;
}
.float1, .float2, .float3, .float4{
width: 150px;
height: 150px;
}
.float1{
background-color: red;
}
.float2{
background-color: green;
}
.float3{
background-color: pink;
}
.float4{
background-color: black;
}
.float2{
float: left;
display: none;
}
.float3{
float: left;
display: none;
}
.float{
clear: left;
}
</style>
</head>
<body>
<p>给nav设置一个高度的二级导航菜单</p>
<div class="nav">
<ul>
<li>Java
<ul>
<li>coreJava</li>
<li>linux</li>
<li>XML</li>
</ul>
</li>
<li>WebUI
<ul>
<li>html</li>
<li>css</li>
<li>javascript</li>
</ul>
</li>
<li>BigData</li>
</ul>
</div>
<p>不给nav设置高度,使用伪元素的二级导航菜单</p>
<div class="head">
<ul>
<li>文学
<ul>
<li>西游记</li>
<li>红楼梦</li>
<li>水浒传</li>
</ul>
</li>
<li>故事
<ul>
<li>一千零一夜</li>
<li>阿里巴巴与40大盗</li>
</ul>
</li>
<li>科技</li>
</ul>
</div>
<br><br><br>
<div class="showRed">显示红盒</div>
<div class="showBlue">显示蓝盒</div>
<div class="box1"></div>
<div class="box2"></div>
<br><br><br><br><br><br><br><br><br><br>
<div class="float1">11</div>
<div class="float2">22</div>
<div class="float3">33</div>
<div class="float4">44</div>
</body>
</html>
图片