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

原文: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>

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

 

 

时间: 2024-12-21 21:50:35

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

CSS3+HTML5特效9 - 简单的时钟

原文:CSS3+HTML5特效9 - 简单的时钟 效果演示(加快了100倍)                       实现原理 利用CSS3的transform-origin 及 transform 完成以上效果.   代码及说明 1 <style> 2 @-webkit-keyframes rotateLabel { 3 0%{ 4 -webkit-transform-origin:0% 100%; 5 -webkit-transform: rotate(0deg); 6 } 7 100

CSS3+HTML5特效 - 上下滑动效果

先看看效果,把鼠标移上去看看. back front 1. 本实例需要以下元素:     a. 外容器 box     b. 内容器 border     c. 默认显示内容 front     d. 滑动内容 back 2. 外容器BOX的Height为200px,Width为200px: .box1{   position: relative;   top: 100px;   left: 100px;   width: 200px;   height: 200px;   border: 1p

CSS3+HTML5特效3 - 纵向无缝滚动

老惯例,先看例子. This is a test 1. This is a test 2. This is a test 3. This is a test 4. This is a test 5. This is a test 1. 实现原理: 1. 利用CSS3的@keyframes规则创建动画效果: 2. 使用CSS3的animation效果完成滚动切换.  CSS代码 @-webkit-keyframes scrollText1 {     0%{         -webkit-tra

jQuery/CSS3图片特效插件整理推荐_jquery

1.CSS3实现的底部带滚动云彩效果的网站登录页面 CSS3实现的底部带滚动云彩效果的网站登录页面特效源码,是一段实现页面底部拥有滚动云彩动态效果的特效源码,想要在网站中实现此类效果的朋友们可以前来下载使用.本段代码兼容目前最新的各类主流浏览器,是一款非常优秀的特效源码. 在线演示 源码下载 2.HTML5实现的3D球体斑点运动动画特效源码 这是一个很酷的HTML5 3D动画效果,是一个小球,小球表面出现跳动的斑点,斑点跳动时形成各种各样的形状,其实这款动画并不是正宗的HTML5 3D动画,而是

jQuery+CSS3+Html5实现弹出层效果实例代码(附源码下载)_jquery

弹出层用来向用户展示详细的信息,交互性非常强.弹出层有对话框.模态窗口等形式,这里我都把他们叫做弹出层,我的同事们也是这么叫的.一般我们喜欢使用比较成熟的弹出层插件如fancybox等,但在本文,我将先抛弃插件,给大家介绍如何使用jQuery+CSS3+Html5实现弹出层. 效果展示        源码下载 我们完全使用HTML5+CSS3+jQuery来实现一个基本的弹出层效果,因此我们可以在示例中任意修改弹出层外观样式.甚至js方法调用.我们最终做出来的弹出层效果应该是响应式的,也就是说可

CSS3特效实例:11个CSS3代码特效实例

网页制作Webjx文章简介:最近花了好些时间整理了一下CSS3的特效,利用比较直观易懂的方式表现出来跟大家分享一下,希望大家会有一点点的收获. 最近花了好些时间整理了一下CSS3的特效,利用比较直观易懂的方式表现出来跟大家分享一下,希望大家会有一点点的收获. 其中" -moz- " 一般指火狐的写法," -webkit- " 一般指webkit内核浏览器的写法.1.border-radius 实现圆角效果,只需一行CSS代码便可以实现,支持众多浏览器,当然不支持IE

做一个特炫的html5特效

问题描述 做一个特炫的html5特效 问题: 首页为登录页面,在登录页面显示之前,页面首先显示:页面为黑色,一道闪电劈过,页面随之裂开,裂开的两部分有动态的消失(从闪电光亮处往页面边缘掀开),(随着掀开)然后登陆界面就显示出来了. 这种特效怎么做出来啊?求前辈指点.求代码!!! 在此感谢!!!

方法-怎么在一个JFrame的顶部显示一张图片可以随着窗口宽度改变啊?

问题描述 怎么在一个JFrame的顶部显示一张图片可以随着窗口宽度改变啊? 我把这图片用drawImage方法画在一个Panel上,再把Panel添加到JFrame的北部就成这样了!?怎么让图片有个初始高度而且能随着窗口改变宽度??求解! 解决方案 这个最好使用GridBagLayout,设置你图片所在面板的填充策略和比例系数,一句两句讲不清楚,最好你能详细说明下你这个图片的高度是多少,窗口变化的时候需要改变哪些,宽.高还是宽高都改 解决方案二: 待我百度一下GridBagLayout

如何利用【百度地图API】,制作房产酒店地图?(中)——使用右侧列表打开信息窗口

原文:如何利用[百度地图API],制作房产酒店地图?(中)--使用右侧列表打开信息窗口 摘要: 很多房产网.旅游酒店网上,都有一个列表,鼠标经过列表上的数据时,地图上就会打开相应的信息窗口. 如何实现这一功能呢? 快来学习吧. ----------------------------------------------------------------------------------------------- 一.制作列表 接着上一篇文章来讲,我们已经拥有了一张能显示自定义标注,和信息窗口