css实现高度动态变化的布局

本文实现的效果如下:
图一:
图二:

思路:  将粉色区域绝对定位,right值为蓝色区域的宽度,父元素相对定位,蓝色区域右浮动即可。

好处:  这样做的好处在于,相对于用js来实现粉色区域高度的自适应,这种方法可以提高性能,我们在写效果的时候,能用css来实现的,尽量不要用js来实现。  css在书写的时候很简单,但是css也会关系到性能的优化问题,这里随便提出几点:    1.尽量不要使用层级选择器,    2.不要使用元素选择器,    3.不要使用属性选择器等。  上述这些选择器都会影响性能问题。

代码如下:
<!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4   <meta charset="UTF-8">
 5   <meta name="viewport" content="width=device-width, initial-scale=1.0">
 6   <meta http-equiv="X-UA-Compatible" content="ie=edge">
 7   <title>Document</title>
 8   <style>
 9     *{
10       margin: 0;
11       padding: 0;
12     }
13     .box{
14       width: 800px;
15       overflow: hidden;
16       position: relative;
17       margin: 50px auto;
18     }
19     .left{
20       position: absolute;
21       top: 0;
22       right: 600px;
23       bottom: 0;
24       left: 0;
25       background: pink;
26     }
27     .right{
28       width: 600px;
29       height: 200px;
30       float: right;
31       background: blue;
32     }
33     .btn-wrap{
34       width: 800px;
35       margin: 0 auto;
36       overflow: hidden;
37     }
38     .btn{
39       width: 50px;
40       height: 30px;
41       float: right;
42       margin-left: 50px;
43       background: #eee;
44     }
45   </style>
46 </head>
47 <body>
48   <div class="box">
49     <div class="left"></div>
50     <div class="right"></div>
51   </div>
52
53   <div class="btn-wrap">
54     <button class="btn add">加</button>
55     <button class="btn sub">减</button>
56   </div>
57   <script>
58     var right = document.getElementsByClassName("right")[0],
59         add = document.getElementsByClassName("add")[0],
60         sub = document.getElementsByClassName("sub")[0];
61
62     add.onclick = () => {
63       right.style.height = right.offsetHeight + 20 + ‘px‘;
64     }
65
66     sub.onclick = () => {
67       right.style.height = right.offsetHeight - 20 + ‘px‘;
68     }
69   </script>
70 </body>
71 </html>
有错误之处,欢迎指教。谢谢,阅读。
时间: 2024-10-31 20:59:06

css实现高度动态变化的布局的相关文章

页面架构HTML+CSS ヾ(o???)? 常用居中&amp;多列布局

CSS Reset 1.作用 (1)清除浏览器默认样式(2)全局样式定义 2.特别注意 (1)项目开发初期就定义好(2)reset.css 在引入的时候一定要放在第一位(3)不同的产品reset.css不一样 3.table合并边框间距 table { border-collapse: collapse; // 合并边框 border-spacing: 0; //边框间距.当 `border-collapse` 值为 `seperate` 时生效 } 4.一个并不完整也并不通用的reset.cs

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

原文:CSS3+HTML5特效8 - 顶部和右侧固定,左侧随窗口变化的布局 效果演示 实现原理 使用3个div(一个是顶部栏,一个是左侧栏,一个是右侧栏): 使用checkbox作为判断是否显示和隐藏右侧栏,点击显示和隐藏label实现最终效果. 代码说明 css + ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41

这些HTML、CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML、CSS、盒子模型、内容布局)

这些HTML.CSS知识点,面试和平时开发都需要 No1-No4 系列知识点汇总 这些HTML.CSS知识点,面试和平时开发都需要 No1-No4(知识点:HTML.CSS.盒子模型.内容布局) 这些HTML.CSS知识点,面试和平时开发都需要 No5-No7(知识点:文字设置.设置背景.数据列表) 这些HTML.CSS知识点,面试和平时开发都需要 No8-No9(知识点:媒体操作.构建表单) 这些HTML.CSS知识点,面试和平时开发都需要 No10-No11(知识点:表格操作.代码编写规则)

winform防止控件随窗体变化出现布局错乱两种办法

///为了防止控件随窗体变化出现布局错乱的现象,利用两种办法 第一种: 利用锚的方法:即使该控件距离某下边的距离固定 类似于div+css中的margin-left 位置如图所示: 第二种方法: 利用DOCK方法将其填充完,那么当窗体大小变化时,也不会出现错乱情况 当然,有时文本框只有一行,解决办法是: 调整属性: 然后开始填充:

Android自定义View系列之动态变化的Button

我的微信公众号: 如果你喜欢我的文章,欢迎关注我的微信公众号. 今天给大家介绍的是一款可以动态变化的按钮,如矩形变为圆形.圆形变为矩形.矩形先变为进度条然后再变为圆形,我们还是先看看效果图吧. 第一个按钮由矩形变为圆角矩形. 第二个按钮由矩形变为圆形. 第三个按钮由矩形变为进度条,进度条结束后变为圆形. 在此声明一下,效果实现我这里并非原创,我也是在github上面看到此效果,然后阅读源码,觉得不错,就通过自己的理解把此效果自己也实现了一下. 此控件的特效主要是形状的动态变换,比如背景色,宽度和

js实现页面时间动态变化

利用函数嵌套和setTimeout函数实现时间动态变化 var myDate = new Date(); myDate.getYear(); //获取当前年份(2位) myDate.getFullYear(); //获取完整的年份(4位,1970-????) myDate.getMonth(); //获取当前月份(0-11,0代表1月) myDate.getDate(); //获取当前日(1-31) myDate.getDay(); //获取当前星期X(0-6,0代表星期天) myDate.ge

Pop–实现任意iOS对象的任意属性的动态变化

简介 Pop 是一个可扩展的动画引擎,可用于实现任意iOS对象的任意属性的动态变化,支持一般动画,弹性动画和渐变动画三种类型. 项目主页: pop 最新示例: 点击下载 注意: 官方代码中,并不包含实例,而是用于编译的所有源代码,建议自行新建工程,并结合下文的代码片段查看效果. 入门 安装 通过CocoaPods安装 pod 'pop', '~> 1.0' 使用 在需要使用POP的地方,引入头文件: #import <pop/POP.h> 动画的开始,停止 与 更新 把动画添加到你想要拥

实时监测input控件value值动态变化的事件

目录 [1]input [2]propertychange [3]兼容处理 前面的话 HTML5为input控件新增了很多type属性,大大增加了input控件的应用场景.其中一个是type="range"的input控件,可以通过拖动游标改变value值,但并不是所有浏览器都可以实时显示,除了IE10+浏览器 说到改变value值的事件,首先想到的便是change事件,但change事件的触发条件是失去焦点并且value值改变.而游标拖动并没有失去焦点.所以,change事件并不能达

C#PDA智能程序图片动态变化进度条设计及实现

前言:SmartProject 项目是C#桌面程序的精简版,很多属性和事件可能都没有设置进SDK中.在最近的PDA程序中,我没用使用进度条.为了防止用户乱点,最开始想使用windows提供的进度条,但是觉得又不适合,所以就试图用图片切换的方式来实现.  原理:开启线程切换图片实现显示(子线程不影响主线程而继续往下执行). 1.进度界面设计效果 2.界面切换效果 点击质检按钮后跳转(during the new thread running the UI will be changed): 等待业