美文网首页web前端-HTML,CSS,JAVASCRIPT
html5和css3进阶(案例)----03

html5和css3进阶(案例)----03

作者: 睡前听卡农 | 来源:发表于2020-10-24 14:31 被阅读0次
header制作:

重点:设置版心,哪个盒子需要就加上,以前的时候没有关注到这个问题。

优点:不用设置很多的盒子,哪里需要哪里调用,后面单独做笔记。

遇到一个问题

nav>li和nav li的区别?

nav>ul只选择nav下一级里面的ul元素,例如上面dom结构里id为a的ul。
nav ul选择nav内所包含的所有ul元素,例如上面dom结构里面id为a、b、c的全部ul。

nav>ulnav ul限定更严格,必须后面的元素只比前面的低一个级别。

浮动的盒子可以解决外边距的塌陷问题(也就是不会有外边距合并问题)
学知在线简单布局
css
*{
    margin: 0 auto;
    padding: 0;

}
.w{
    width: 1200px;
    margin: auto;
}
body{
 background-color:#f5f5f5;
  
}
.header{
  height: 63px;
 
  margin-top:1px;
}
.logo img{
  float: left;
  width: 200px;
  height: 63px;
}
.nav{
  float: left;
  margin-left: 60px;
}
li{
  float: left;
  list-style: none;
 
}
a{
  text-decoration: none;
}
.nav ul li{
  float: left;
  margin-left:20px;
}
.nav ul li a{  
  display: block;
  height: 63px;
  padding-left:10px;
  padding-right:10px;
  line-height: 63px;
}
.nav ul li a:hover{
  border-bottom: 2px solid #004aff;
}
.search{
  float: left;
  width: 400px;
  height: 42px;
  margin-left: 50px;
 
}
.search input{
  float: left;
  width: 340px;
  height:40px;

  margin-top: 10px;
border: 1px solid #004aff;
color: #bfbfbf;
font-size: 14px;
text-indent: 1.5em;
}
.search button{
  float: left;
  width: 50px;
  height: 42px;
  margin-top: 10px;
  background-color: #004aff;
  border: 0;
  
}
.search button img{
  width: 50px;
  height: 42px;
}
.header>button{
  float: right;
  width: 70px;
  height: 30px;
  margin-top: 18px;
  border-radius: 20px;
  border: 1px solid #35d5f4;
  color: #5c5c59;
  margin-right: 20px;
}
.login{
  background-color:#35d5f4;
margin-right: 10px;

 }
 .banner{
   background-color: #35d5f4;
   height: 421px;
 }
 .banner{
background: url(/images/banner.PNG) no-repeat top center;
background-size: auto;
height: 500px;

 }
 .subnav{
   float: left;
   width: 190px;
   height: 500px;
   background:  rgba(0,0,0,0.5) ;
 
 }
 .subnav ul li{
   height: 45px;
   line-height: 45px;
   padding: 5px 20px;
 }
 .subnav ul li a{
   display: block;
   width: 150px;
   font-size: 18px;
   color: #ffffff;
 }
 .subnav ul li a span{
   float: right;
 }
 .subnav ul li:hover{
background-color: #c9c0c0; 
}
.course{
width: 230px;
height: 300px;
background-color: antiquewhite;
float: right;
margin-top: 50px;
}
.course h2{
  height: 48px;
  text-align: center;
  background-color: #9bceea;
  color: white;
}
.panel{
  padding: 0 20px;
}
.panel ul li{
  padding: 15px 10px;
  border-bottom: 1px solid #ccc;
}
.panel ul li h4{
  color: #4e4e4e;
  font-size: 16px;
}
.panel ul li p{
  font-size: 12px;
  color: #a5a5a5;
}

.more{
  display: block;
  height: 38px;
  line-height: 38px;
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  color: #004aff;
}
.goods{
  background-color: #fff;
  height: 60px;
  box-shadow:2px 2px 2px 2px rgba(0,0,0,0.2);
  line-height: 60px;
}
.goods h3{
  margin-left: 30px;
  float: left;
  color: #004aff;
  font-size: 16px;
}
.goods ul{
  float: left;
  margin-left: 30px;
}
.goods ul li{
  float: left;
  
}
.goods ul li a{
  padding: 0 30px;
  font-size: 16px;
  color: #050505;
  border-left: 1px solid #ccc;
}
.goods .mod{
  float: right;
  margin-right: 30px;
  color: #004aff;
  font-size: 14px;
}
.box{
margin-top: 30px; 
}
.box-hd{
  height: 30px;
}
.box-hd h3{
float: left;
font-size: 20px;
color: #494949;
}

.box-hd a{
  float: right;
  font-size: 12px;
  color: #a5a5a5;
  margin-top: 10px;
  margin-right: 30px;
}

.box-bd ul li{
  width: 228px;
  height: 270px;
  margin-right: 15px;
  margin-bottom: 15px;
  background-color: #f5f1f1;
}
.box-bd ul li:nth-child(5n){
  margin-right: 0;
}
.box-bd ul li img{
  width: 100%;
}
.box-bd ul li h4{
  font-size: 14px;
  margin: 20px 20px 20px 25px;
  color: #050505;
  font-weight: 400;
}
.box  .info{
  margin: 0 20px 0 25px;
  font-size: 12px;
  color: black;
}
.box-bd .info span{
  color: #ff7c2d;
}
.footer{
  float: left;
  background-color: blueviolet;
  width: 100%;
  height: 200px;
}

.clearfix:before,.clearfix:after{
  content:"";
  display:table;
  }
  .clearfix:after{
  clear:both;
  }
  .clearfix{
  *zoom:1;
  }
  
  .center{
    
    margin-top: 20px;
    height: 350px;
  }
  .center-left{
    float: left;
    background-image: url(/images/img.png) ;
    background-repeat: no-repeat;
    width: 250px;
    height: 350px;
  }
  .center-right{
    width: 950px;
    height: 100%;
    float: right;
  }
  .center-right-hd{
    float: left;
   background-image: url(/images/logo2.gif);
   background-repeat: no-repeat;
     height: 100px;
     width: 100%;
  }
  .center-right-bd{
    float: left;
     height: 250px;
     width: 100%;
     
  }
  .center-right-bd ul li{
    width: 220px;
    height: 250px;
    margin-right: 15px;
    margin-left: 6px;
    margin-bottom: 15px;
    background-color: #f5f1f1;
  }

  .center-right-bd ul li img{
    width: 100%;
  }
  .center-right-bd ul li h4{
    font-size: 14px;
    margin: 20px 20px 20px 25px;
    color: #050505;
    font-weight: 400;
  }
  .center-right  .info{
    margin: 0 20px 0 25px;
    font-size: 12px;
    color: black;
  }
  .center-right-bd .info span{
    color: #ff7c2d;
  }
  .center-right-bd ul li:nth-child(4){
    margin-right: 0;
  }
  .center-top{
    background-color: #f3f5f7;
    height: 50px;
  }
  .center-top h3{
    padding-left: 30px;
    float: left;
    line-height: 50px;
    color: #a5a5a5;
    font-weight: 400;
  }
  .center-top ul li{
    line-height: 50px;
    padding:0 15px;
  }
  .center-top ul li a{
    color: #a5a5a5;
  }
  .center-top ul li a:hover{
    color: #004aff;
  }
  .center-top .first{
    padding-left:400px;
  }
  .center-top>a{
    float: right;
    line-height: 50px;
    padding-right: 30px;
    font-size: 14px;
  }
  .footer{
    background-color: #fff;
    height: 300px;
    margin-top: 30px;
  }
.footer .w{
 margin-top: 20px;
}
.copyright{
  float: left;
}
.copyright p{
  font-size: 12px;
  color: #666;
  margin: 20px 0 15px 0;
}
.copyright .app{
  display: block;
  width: 118px;
  height: 33px;
  border:1px solid #004aff;
  text-align: center;
  line-height: 33px;
  color: #004aff;
}
.link{
  float: right;
}
.link dl{
  float: left;
  margin-left: 100px;
}
.link dl dt{
  font-size: 16px;
  color: #333;
  margin-bottom: 5px;
}
.link dl dd a{
  color: #333;
  font-size: 12px;
  
}

html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>学知在线</title>
    <link rel="stylesheet" type="text/css" href="../css/style.css">
</head>
<body>
    <div class="header w">
<div class="logo">
    <img src="images/logo.png" alt="logo">
</div>
<div class="nav">
    <ul>
        <li><a href="#">首页</a></li>
        <li><a href="#">课程</a></li>
        <li><a href="#">职业规划</a></li>
    </ul>
    
</div>
<div class="search" >
<input type="text" value="请输入关键词">
<button>
    <img src="images/search.png" alt="搜索">
</button>
</div>
<button class="login">登录</button>
<button>注册</button>
    </div>
    <div class="banner">
        <div class="w">
            <div class="subnav">
                <ul>
                    <li>
                        <a href="#">前端开发 <span>&gt;</span>
                </a>
            </li>
                    
                    <li><a href="#">后端开发<span>&gt;</span></a></li>
                    <li><a href="#">人工智能<span>&gt;</span></a></li>
                    <li><a href="#">移动开发<span>&gt;</span></a></li>
                    <li><a href="#">商业预测<span>&gt;</span></a></li>
                    <li><a href="#">云计算&大数据<span>&gt;</span></a></li>
                    <li><a href="#">运维&测试<span>&gt;</span></a></li>
                    <li><a href="#">UI设计<span>&gt;</span></a></li>
                    <li><a href="#">产品<span>&gt;</span></a></li>
                </ul>
            </div>
            <div class="course">
                <h2>我的课程表</h2>
                <div class="panel">
                   <ul>
                       <li>
                           <h4>继续学习 程序语言设计</h4>
                           <p>正在学习 使用对象</p>
                       </li>
                       <li>
                        <h4>继续学习 程序语言设计</h4>
                        <p>正在学习 使用对象</p>
                    </li>
                    <li>
                        <h4>继续学习 程序语言设计</h4>
                        <p>正在学习 使用对象</p>
                    </li>
                   </ul>
                   
                   <a href="#" class="more">全部课程</a>
                </div>
            </div>
        </div>
    </div>

<div class="goods w">
    <h3>精品推荐</h3>
    <ul>
     <li><a href="#">JQuery</a></li> 
   <li> <a href="#">Spart</a></li>
    <li><a href="#">MySQL</a></li>
   <li> <a href="#">JavaWeb</a></li>
    <li><a href="#">MySQL</a></li>
  <li><a href="#">JavaWeb</a></li>  
   </ul>
   <a href="#" class="mod">修改兴趣</a>
</div>
<div class="box w">
   <div class="box-hd">
       <h3>精品推荐</h3>
       <a href="#">查看全部</a>
   </div>
   <div class="box-bd">
       <ul class="clearfix">
          <li>
              <img src="images/timg.jpg" alt="goods">
              <h4>java web Spring底层原理,大佬带你飞</h4>
              <div class="info">
                  <span>高级</span>● 10000人在学习
              </div>
          </li>
          <li>
            <img src="images/timg.jpg" alt="goods">
            <h4>java web Spring底层原理,大佬带你飞</h4>
            <div class="info">
                <span>高级</span>● 10000人在学习
            </div>
        </li>
        <li>
            <img src="images/timg.jpg" alt="goods">
            <h4>java web Spring底层原理,大佬带你飞</h4>
            <div class="info">
                <span>高级</span>● 10000人在学习
            </div>
        </li>
        <li>
            <img src="images/timg.jpg" alt="goods">
            <h4>java web Spring底层原理,大佬带你飞</h4>
            <div class="info">
                <span>高级</span>● 10000人在学习
            </div>
        </li>
        <li>
            <img src="images/timg.jpg" alt="goods">
            <h4>java web Spring底层原理,大佬带你飞</h4>
            <div class="info">
                <span>高级</span>● 10000人在学习
            </div>
        </li>
        <li>
            <img src="images/timg.jpg" alt="goods">
            <h4>java web Spring底层原理,大佬带你飞</h4>
            <div class="info">
                <span>高级</span>● 10000人在学习
            </div>
        </li>
        <li>
            <img src="images/timg.jpg" alt="goods">
            <h4>java web Spring底层原理,大佬带你飞</h4>
            <div class="info">
                <span>高级</span>● 10000人在学习
            </div>
        </li>
        <li>
            <img src="images/timg.jpg" alt="goods">
            <h4>java web Spring底层原理,大佬带你飞</h4>
            <div class="info">
                <span>高级</span>● 10000人在学习
            </div>
        </li>
        <li>
            <img src="images/timg.jpg" alt="goods">
            <h4>java web Spring底层原理,大佬带你飞</h4>
            <div class="info">
                <span>高级</span>● 10000人在学习
            </div>
        </li>
        <li>
            <img src="images/timg.jpg" alt="goods">
            <h4>java web Spring底层原理,大佬带你飞</h4>
            <div class="info">
                <span>高级</span>● 10000人在学习
            </div>
        </li>
       
       </ul>
   </div>
</div>
<div class="center-top w">
    <h3>编程入门</h3>
    <ul>
        <li class="first"><a href="#">热门</a></li>
        <li><a href="#">初级</a></li>
        <li><a href="#">中级</a></li>
        <li><a href="#">高级</a></li>
    </ul>
    <a href="#">查看全部</a>
</div>
<div class="center w">
    <div class="center-left"></div>
    <div class="center-right">
        <div class="center-right-hd"></div>
        <div class="center-right-bd">
            <ul class="clearfix">
                <li>
                    <img src="images/timg.jpg" alt="goods">
                    <h4>java web Spring底层原理,大佬带你飞</h4>
                    <div class="info">
                        <span>高级</span>● 10000人在学习
                    </div>
                </li>
                <li>
                    <img src="images/timg.jpg" alt="goods">
                    <h4>java web Spring底层原理,大佬带你飞</h4>
                    <div class="info">
                        <span>高级</span>● 10000人在学习
                    </div>
                </li>
                <li class="three">
                    <img src="images/timg.jpg" alt="goods">
                    <h4>java web Spring底层原理,大佬带你飞</h4>
                    <div class="info">
                        <span>高级</span>● 10000人在学习
                    </div>
                </li>
                <li class="four">
                    <img src="images/timg.jpg" alt="goods">
                    <h4>java web Spring底层原理,大佬带你飞</h4>
                    <div class="info">
                        <span>高级</span>● 10000人在学习
                    </div>
                </li>
                
              </ul>
        </div>
    </div>
</div>
</div>
<div class="footer">
    <div class="w">
      <div class="copyright">
          <img src="/images/logo.png" alt="">
          <p>学知在线致力于普及中国最好的教育它与中国一流大学和机构合作提供在线课程<br>
              @2020年xxx。Inc.保留权利。-京ICP备0000000号
          </p>
          <a href="#" class="app">下载app</a>
      </div>
      <div class="link">
          <dl>
              <dt> 关于学知网</dt>
              <dd><a href=""> 关于</a></dd>
              <dd><a href=""> 管理团队</a></dd>
              <dd><a href=""> 工作机会</a></dd>
              <dd><a href="">  客户服务</a></dd>
              <dd><a href="">   帮助</a></dd>
          </dl>
          <dl>
            <dt> 关于学知网</dt>
            <dd><a href=""> 关于</a></dd>
            <dd><a href=""> 管理团队</a></dd>
            <dd><a href=""> 工作机会</a></dd>
            <dd><a href="">  客户服务</a></dd>
            <dd><a href="">   帮助</a></dd>
        </dl>
        <dl>
            <dt> 关于学知网</dt>
            <dd><a href=""> 关于</a></dd>
            <dd><a href=""> 管理团队</a></dd>
            <dd><a href=""> 工作机会</a></dd>
            <dd><a href="">  客户服务</a></dd>
            <dd><a href="">   帮助</a></dd>
        </dl>
      </div>
    </div>
</div>
</body>
</html>
其中需要注意的点

我觉得最重要的就两点:版心、清除浮动、选择器的使用。

导航栏注意点:
  • 实际开发过程中,我们不会使用链接a,而是使用链接(li+a)的做法。
  • li+a的语义更加清晰,一看就是有条理的列表型内容。
  • 一个浮动,全部浮动。
其余地方,应该注意以下几点
  • 什么情况下需要浮动?如何清除浮动?
  • 版心如何使用,什么情况下使用版心?
  • 子类元素被挤到下方,应该如何去处理?

其实第三点有好的解决方法。


这种情况下我们一般是使用使用css的层叠性对第三个盒子的右边距进行清除,但是这种情况下就需要给第三个盒子一个类名。

假如第三个盒子类名为box-three
.three{
margin-right:0;
}

但是当盒子比较多的时候就显得比较麻烦。

第二种方法

.center-right-bd ul li:nth-child(n){
    margin-right: 0;
  }

这里的n是倍数的意思,如果有8个,一行4个,就是4n。



这种情况就是没有清除浮动,我想要效果2,但是会出现效果2的情况,这种情况下我们需要使用clearfix来清除浮动。

总结以上,我觉得写标签还是有很多技巧的,就如同版心解决了我很多问题,html的代码大幅减少,但是由于没能好好掌握css的选择器,导致css的代码还是很冗余,等我这个css阶段学完以后,我会解决css中类选择器的问题。

相关文章

网友评论

    本文标题:html5和css3进阶(案例)----03

    本文链接:https://www.haomeiwen.com/subject/yqwimktx.html