css实现高度动态变化自如 新手写着娱乐
2017-08-15 16:42
176 查看
思路: 将粉色区域绝对定位,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>
有什么不妥的地方希望可以指出来
相关文章推荐
- css实现宽高动态变化,生成正方形div的2种方式
- 利用css和js实现页面的标签效果。(标签个数可以动态变化)
- [CSS]使用绝对定位属性来实现CSS内部子容器高度随着外部父容器高度变化而变化
- css实现高度height随宽度width变化保持比例不变
- css+js教你实现一个动态颜色变化的圈中圈
- CSS实现子级窗口高度随低级窗口高度变化及js控制左右容器高度一致
- CSS实现左右栏宽度固定中间栏宽度变化且各栏高度自适应背景色不同的三栏布局
- 完全用CSS实现100%高度覆盖层(IE7测试通过)
- 用简单的css实现html网页动态电子相册的功能
- CSS实现背景图尺寸不随浏览器缩放而变化
- 用css-hack的方式实现 ie6+的最小高度的方法
- javascript实现动态导入js与css等静态资源文件的方法
- 纯css实现高度与宽度成比例的效果(转)
- 奇怪的问题,关于js+css实现页面内容高度自适应的两种解决方案
- html5 getComputedStyle + resize 实现动态宽高度等比响应式页面设计
- 使用Autolayout xib实现动态高度的TableViewCell
- 动态获取div的高度 随着窗口变化而变化 window.resize
- 用CSS实现高度宽度固定比例,宽度不固定
- 置顶TabLayout配合动态高度ViewPager效果实现
- ios TableView那些事(三十 五)TableView 单选操作使用Autolayout实现UITableView的Cell动态布局和高度动态改变