CSS3+HTML5特效8 - 顶部和右侧固定,左侧随窗口变化的布局

简介: 原文:CSS3+HTML5特效8 - 顶部和右侧固定,左侧随窗口变化的布局效果演示     实现原理 使用3个div(一个是顶部栏,一个是左侧栏,一个是右侧栏); 使用checkbox作为判断是否显示和隐藏右侧栏,点击显示和隐藏label实现最终效果。
原文: CSS3+HTML5特效8 - 顶部和右侧固定,左侧随窗口变化的布局

效果演示

 

 

实现原理

  1. 使用3个div(一个是顶部栏,一个是左侧栏,一个是右侧栏);
  2. 使用checkbox作为判断是否显示和隐藏右侧栏,点击显示和隐藏label实现最终效果。

 

代码说明

css

<style>
body {
  font-family:"Microsoft YaHei",arial,sans-serif;
  margin: 0px;
  padding: 0px;
  color: #666;
}

ul {
  margin:0;
  padding:0;
  list-style-type:none;
}

.topPanel{
	position: fixed;
	top: 0px;
	left: 0px;
	height: 30px;
	width: 100%;
	border-top: 1px solid #e0e0e0;
	border-bottom: 1px solid #e0e0e0;
	background: #F0FFFF;
}

.topPanel div{
	display: inline-block;
	padding: 3px 20px 0px 3px;
	height: 27px;
}

.splitPanel{
	position: fixed;
	top: 49%;
	width: 15px;
	height: 50px;
	right: 301px;
	background: #1E90FF;
	cursor: pointer;
	border-top-left-radius: 10px;
	border-bottom-left-radius: 10px;
	z-index: 9999;
}

.showHideRightPanelChk {
	display: none;
}

.showHideRightPanelChk:checked ~ .rightPanel {
	display: none;
}

.showHideRightPanelChk:checked ~ .splitPanel {
	right: 0px;
	background: #FFC125;
}

.showHideRightPanelChk:checked ~ .splitPanel label{
	right: 0px;
}

.showHideRightPanelChk:checked ~ .splitPanel label:nth-child(1){
	margin: 20px 0px 0px 6px;
	transform: rotate(315deg);
	-webkit-transition:1s all ease;
	transition:1s all ease;
}

.showHideRightPanelChk:checked ~ .contentPanel {
    right: 0px;
}

.splitMark{
	margin: 20px 0px 0px 3px;
	width: 5px;
	height: 5px;
	border-top: 2px #fff solid;
	border-left: 2px #fff solid;
	transform: rotate(135deg);
	display: inline-block;
	-webkit-transition:1s all ease;
	transition:1s all ease;
}

.splitBorder{
	position: fixed;
	top: 49%;
	width: 15px;
	height: 50px;
	right: 301px;
}

.rightPanel{
	position: fixed;
	top: 31px;
	right: 0px;
	width: 299px;
	bottom: 1px;
	border-left: 1px solid #e0e0e0;
	padding: 1px 1px 1px 1px;
}

.rightPanel div{
	display: inline-block;
	margin: 0px 0px 14px 0px;
}

.contentPanel{
	position: fixed;
	top: 32px;
	left: 0px;
	right: 301px;
	bottom: 1px;
	width: auto;
	background: #FFFFF0;
}
</style>

  

  1. 设置了顶部div,height为30px,width为100%,底部有边框的效果;
  2. 设置了左侧div,top为32px,距离右侧301px,距离底部1px,width为auto的效果;
  3. 设置了右侧div,top为31px,width为300px,距离底部1px,左侧有边框的效果;
  4. 设置了用于点击切换效果的区域,top为49%,width为15px,height为50px,距离右侧301px,同时设置左上及左下为圆角效果;
  5. 设置用于标识右侧div显示和隐藏效果的样式。

 

html

<div>
	<input id="showHideRightPanel" class="showHideRightPanelChk" type="checkbox">
	<div class="topPanel">
		<div>Top panel</div>
	</div>
	<div class="contentPanel">
		<div>Content
		Content Content Content Content Content Content Content Content Content Content Content Content Content Content Content Content Content Content Content Content Content Content Content Content Content Content Content </div>
	</div>
	<div class="splitPanel">
		<label for="showHideRightPanel" class="splitMark"></label>
		<label for="showHideRightPanel" class="splitBorder"></label>
	</div>
	<div class="rightPanel">
		<div>
			<ul>
				<li>Right panel</li>
			</ul>
		</div>
	</div>
</div>

 运行后,就可以看见效果了。

 

 

目录
相关文章
|
14天前
|
前端开发 JavaScript 开发工具
【HTML/CSS】入门导学篇
【HTML/CSS】入门导学篇
23 0
|
21天前
|
前端开发 开发者 容器
彻底学会CSS grid网格布局
【4月更文挑战第1天】 彻底学会CSS grid网格布局
16 0
|
25天前
|
前端开发 JavaScript
HTML 布局
HTML 布局。
16 5
|
5天前
|
数据采集 前端开发 网络协议
如何使用代理IP通过HTML和CSS采集数据
如何使用代理IP通过HTML和CSS采集数据
|
6天前
|
前端开发 UED C++
《HTML 简易速速上手小册》第5章:HTML 高级布局技巧(2024 最新版)
《HTML 简易速速上手小册》第5章:HTML 高级布局技巧(2024 最新版)
24 0
|
9天前
|
前端开发 搜索推荐 数据安全/隐私保护
HTML标签详解 HTML5+CSS3+移动web 前端开发入门笔记(四)
HTML标签详解 HTML5+CSS3+移动web 前端开发入门笔记(四)
18 1
|
9天前
|
PHP
web简易开发——通过php与HTML+css+mysql实现用户的登录,注册
web简易开发——通过php与HTML+css+mysql实现用户的登录,注册
|
12天前
|
前端开发 开发者 容器
【掰开揉碎】详解 CSS3 Grid 布局
【掰开揉碎】详解 CSS3 Grid 布局
|
16天前
|
JSON JavaScript 前端开发
js是什么、html、css
js是什么、html、css
|
17天前
|
XML 前端开发 JavaScript
css和html
【4月更文挑战第7天】css和html
13 0