Home > Article > Web Front-end > Dynamic element size via CSS positioning manipulation
This article introduces to you the content of dynamic element size through CSS positioning operation. Friends who are interested can take a look. Without further ado, let’s look directly at the specific content.
Tips for providing elements to volumes without using width and height or JS.
This is a very simple trick, but many people don’t know it. (Recommended tutorial: CSS Video Tutorial)
Suppose you want to make a modal box that contains all screens except 100px per screen, how would you solve this problem?
Suppose you want to make a modal that covers all of the screen except for 100px of each border, how would you solve this problem?
HTML
<div class="popup">some content</div>
First we need to add an attribute position:fixed to our div.
After we want to position the modal 100px from each side of the viewport, why shouldn't we give it all 4 position attribute parameters (top, right, bottom, left)?
The solution is that you can give all 4 parameters of fixed/absolute positioning, top: 100px, right: 100px, bottom: 100px; left: 100px;.
By doing this you can make dynamic element sizes accordingly from 100px on each side.
CSS
.popup{ position:fixed; z-index:5; left:100px; right:100px; top:100px; bottom:100px; /*some styles*/ background-color:#ccc; border-radius:10px; border:solid 3px #000; padding:20px; }
The resulting div is an auto-size modal box without a single line of JS.
Full Code:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> .popup{ position:fixed; z-index:5; left:100px; right:100px; top:100px; bottom:100px; background-color:#ccc; border-radius:10px; border:solid 3px #000; padding:20px; } </style> </head> <body> <div class="popup">文字内容</div> </body> </html>
Now, let’s say you want to add a mask underneath the modal box, exactly the same idea!
Here is the solution:
HTML:
<div class="mask"></div>
CSS
.mask{ position:fixed; z-index:2; left:0; right:0; top:0; bottom:0; background-color:rgba(0,0,0,0.8); }
Full code:
文字内容<div class="mask"></div>
The above is the detailed content of Dynamic element size via CSS positioning manipulation. For more information, please follow other related articles on the PHP Chinese website!