2018_IFE第7-8天作业总结及读书笔记

任务是根据设计图来完成一个布局,其中有三个地方有难度,一个是轮播图按钮,二是选项卡的设计,三是弹性布局

代码如下

HTML:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="layout.css">
</head>
<body>
<header>
    <div id="lgandnav">
        <div id="logo">logo</div>
        <ul>
            <li><a href="">Github</a></li>
            <li><a href="">Register</a></li>
            <li><a href="">Login</a></li>
        </ul>
    </div>
</header>
<div id="banner">
    <div id="ca_wrap">
        <div id="carousle_wrap">
    <div class="carousel"><div>1</div></div>
    <div class="carousel"><div>2</div></div>
    <div class="carousel"><div>3</div></div>
    <div class="carousel"><div>4</div></div>
        </div>
</div>
</div>
<nav id="nav">
    <ul>
        <li class="active"><a href="#">HOME</a></li>
        <li><a href="#">PROFILE</a></li>
        <li><a href="#">ABOUT</a></li>
    </ul>



</nav>
<hr/>
<div id="content">
    <div id="box1" class="box">content1</div>
    <div id="box2" class="box">content2</div>
    <div id="box3" class="box">content3</div>
    <div id="center">
    <div id="box4" class="box">content4</div>
    <div id="box5" class="box">content5</div>
    <div id="box6" class="box">content6</div>
    <div id="box7" class="box">content7</div>
   </div>
    <div id="box8" class="box">content8</div>
    <div id="box9" class="box">content9</div>
    <div id="box10" class="box">content10</div>
</div>
 <footer>
     <p>©2018ife.baidu.com</p>
 </footer>
<script src="layout.js"></script>
</body>
</html>
CSS:
*{
    padding:0;       /*样式设置前要始终清除内外边距,不然会在顶部出现白条*/
    margin:0;
}
html{
    width:100%;
    height: 100%;
}
body{
    width:100%;
    height: 100%;

}
header{
    background-color: #3d444c;
    width:100%;
    height:15%;
}
header #lgandnav{
    width:960px;
    margin: 0 auto;
    position:relative;
}
header #lgandnav ul{
     list-style-type: none;
    position: relative;
    top: 5px;

}
header #lgandnav ul li {
    float:right;
    display: inline-block;
    margin-right: 20px;

}
header #lgandnav ul li a{
     color:white;


}

header #lgandnav #logo{
    float:left;
    color:white;
    font-size:30px;

}

/*
banner css
*/

#banner{
    height:30%;
    background-color:#5fbe32;
}

#banner #ca_wrap{
    position:relative;
    width:960px;
    height:100%;
    margin: 0 auto;
}
#banner #ca_wrap #carousle_wrap{
      position:absolute;
     right:0;
    bottom: 8px;
}
/*为类设置绝对定位会重叠在一起*/
#banner .carousel{
    display:inline-block;
    width:23px;
    height:28px;
}
#banner .carousel div{
    height: 100%;
    border:0.5px solid rgb(24, 17, 17);
    background-color:rgba(220,220,220,0.5);
    text-align: center;

}


#carousle_wrap .carousel div:hover{
    padding-top: 10px;
    background-color:rgba(220,220,220,1);   /*paddingtop设置后不用再设置hover的高度,原本没有padding加了就相当于增加了高度,两个都添加的话上下都会延伸*/
     border: 1px solid black;
 }
/*导航栏选项卡设置*/
#nav{
    width:960px;
    height:45px;
    position:relative;
    top:1px;
}
#nav ul{
    list-style-type: none;
    height: 45px;
    margin-left: 40%;

}
#nav ul li{

    width: 100px;
    height:45px;
    float:left;
   border:1px solid #b5b5b5;
    border-bottom-color: transparent;
    border-top-left-radius:17px;
    border-top-right-radius: 17px;
    background-color: #e1e1e1;

}
#nav ul li a{
    text-decoration: none;
    color: black;
    width:100%;
    display: inline-block;
    text-align: center;
    padding-top: 15px;

}

 #nav ul li.active{         /*无法清除选项卡下边缘*/     /*问题在朋友帮助下已解决用相对定位将选项卡总的往下压1px即可*/
     background-color: white;
 }
hr{
    margin-top: 2px;
    height:1px;
    border:none;
    background-color: rgba(136, 136, 136,0.4);
    clear:both;

}
 /*flex-box*/
#content{
    margin: 0 auto;
    width:960px;
    display: flex;
    flex-flow: row wrap;
;
}
#content div{
    text-align: center;
    flex:1;
}


#content .box{
    border:1px #b5b5b5 solid;
    padding:80px;
    margin:5px;

}
#content #center{
  display:flex;
}
/*
我在#content div上设置了一个flex:1,我原本以为是会将content下面所有的div比例都变为1, 这样所有的div都会占1/11,
#center和他的子元素div比例如果都一样就会矛盾,然后我在#center上又设置了一个display:flex,
 而且他的子元素仍然有flex:1,子元素平分的空间就变成了#ce
var tabs=document.querySelectorAll("#nav ul li");
console.log(tabs[0],tabs[1],tabs[2]);
for(var i=0;i<tabs.length;i++)
{
    var tab=tabs[i];
    setTabhandler(tab,i);
}

function setTabhandler(tab,i){
    tab.οnclick=function (event) {
        for(i=0;i<tabs.length;i++)
        {
            if(tabs[i].getAttribute("class"))
            {
                tabs[i].removeAttribute("class");
            }
        }
        tab.setAttribute("class","active");
    }
}

nter的空间 */footer{ background-color: #3d444c; height: 10%;}footer p{ color: white; text-align: center; padding-top: 1%;}/*float会脱离文档流,父元素高度变为0*/

float:原本为了设计来让文字环绕图片,所以他有几个特性。

1.破坏性(坍塌父元素高度)

2.包裹性(如果一个div如果不设置display,默认占一行,加上float会收缩到本身内容宽度)

3.清除空格,显示中的空格大多是因为换行符导致

清除float的四种方法:

1.父元素设置overflow:hidden 父元素就有高度了,不会坍塌

2.父元素也进行浮动,以毒攻毒

3.在需要清除float的元素后面加上一个<div style="clear:both"></div>

4.利用伪元素选择器在元素后加一个clear:both元素,

.clear:fix{

content:'';

display:table;

clear:both;

}

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
城市应急指挥系统是智慧城市建设的重要组成部分,旨在提高城市对突发事件的预防和处置能力。系统背景源于自然灾害和事故灾难频发,如汶川地震和日本大地震等,这些事件造成了巨大的人员伤亡和财产损失。随着城市化进程的加快,应急信息化建设面临信息资源分散、管理标准不统一等问题,需要通过统筹管理和技术创新来解决。 系统的设计思路是通过先进的技术手段,如物联网、射频识别、卫星定位等,构建一个具有强大信息感知和通信能力的网络和平台。这将促进不同部门和层次之间的信息共享、交流和整合,提高城市资源的利用效率,满足城市对各种信息的获取和使用需求。在“十二五”期间,应急信息化工作将依托这些技术,实现动态监控、风险管理、预警以及统一指挥调度。 应急指挥系统的建设目标是实现快速有效的应对各种突发事件,保障人民生命财产安全,减少社会危害和经济损失。系统将包括预测预警、模拟演练、辅助决策、态势分析等功能,以及应急值守、预案管理、GIS应用等基本应用。此外,还包括支撑平台的建设,如接警中心、视频会议、统一通信等基础设施。 系统的实施将涉及到应急网络建设、应急指挥、视频监控、卫星通信等多个方面。通过高度集成的系统,建立统一的信息接收和处理平台,实现多渠道接入和融合指挥调度。此外,还包括应急指挥中心基础平台建设、固定和移动应急指挥通信系统建设,以及应急队伍建设,确保能够迅速响应并有效处置各类突发事件。 项目的意义在于,它不仅是提升灾害监测预报水平和预警能力的重要科技支撑,也是实现预防和减轻重大灾害和事故损失的关键。通过实施城市应急指挥系统,可以加强社会管理和公共服务,构建和谐社会,为打造平安城市提供坚实的基础。
折叠面板是一个常见的 UI 组件,可以在 Web 页面上实现内容的展开与收缩。以下是一个 HTML 右边折叠面板的实现示例: HTML 代码: ```html <div class="panel-container"> <div class="panel-header"> <h3>折叠面板标题</h3> <span class="panel-arrow"></span> </div> <div class="panel-content"> <p>折叠面板内容</p> </div> </div> ``` CSS 代码: ```css .panel-container { position: relative; width: 400px; height: 100%; } .panel-header { position: relative; z-index: 1; height: 40px; background-color: #f0f0f0; border-bottom: 1px solid #d9d9d9; cursor: pointer; } .panel-header h3 { margin: 0; padding: 0 20px; line-height: 40px; font-size: 16px; font-weight: bold; color: #333; } .panel-arrow { position: absolute; top: 50%; right: 20px; width: 0; height: 0; margin-top: -5px; border-left: 5px solid transparent; border-right: 5px solid transparent; border-top: 5px solid #999; transition: transform 0.3s ease; } .panel-content { position: absolute; top: 40px; right: 0; z-index: 0; width: 0; height: 0; overflow: hidden; background-color: #fff; transition: width 0.3s ease; } .panel-container.active .panel-header .panel-arrow { transform: rotate(180deg); } .panel-container.active .panel-content { width: 300px; height: 300px; } ``` 解释: 1. `.panel-container` 设置容器的宽度和高度,并设置为相对定位,以便内部元素进行定位。 2. `.panel-header` 设置折叠面板的标题栏样式,包括高度、背景色、边框和光标样式。 3. `.panel-header h3` 设置标题栏标题的样式,包括字体大小、颜色和粗细等。 4. `.panel-arrow` 设置标题栏右侧的箭头样式,包括定位、大小和颜色等。使用 `transition` 属性实现箭头旋转效果。 5. `.panel-content` 设置折叠面板的内容区样式,包括定位、大小、背景色和过渡效果等。使用 `overflow: hidden` 属性隐藏内容超出部分。 6. `.panel-container.active .panel-header .panel-arrow` 和 `.panel-container.active .panel-content` 通过 `.active` 类实现面板的展开和收缩效果。 以上是一个简单的 HTML 右边折叠面板的实现示例。可以根据实际需求调整样式和布局。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值