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;css 属性选择器
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 = ElementsByClassName("right")[0],
59 add = ElementsByClassName("add")[0],
60 sub = ElementsByClassName("sub")[0];
61
62 lick = () => {
63 right.style.height = right.offsetHeight + 20 + 'px';
64 }
65
66 lick = () => {
67 right.style.height = right.offsetHeight - 20 + 'px';
68 }
69 </script>
70 </body>
71 </html>
有错误之处,欢迎指教。谢谢,阅读。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论