实现原理:display:none/block 把代码直接复制看效果
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
* {
padding: 0
margin: 0
}
.firstBox h5 {
font-size: 30px
color: #000
font-weight: 700
}
.firstBox table {
border: 1px solid #E6E6E6
margin: 15px 0px
}
.firstBox table thead {
background: #E6E6E6
}
.firstBox table tr td {
width: 150px
text-align: center
}
.firstBox button {
width: 100px
height: 40px
background: #E6E6E6
border: 1px solid #C7D3E6
text-align: center
line-height: 40px
font-size: 16px
color: #000
cursor: pointer
}
#twoBox {
margin: 20px 0px 0px
background: #E6E6E6
height: 250px
width: 310px
position: relative
display: none
}
#twoBox .twoBox_lever {
width: 290px
height: 230px
background: #fff
border: 1px solid #ccc
border-radius: 5px
position: absolute
right: 0
top: 0
left: 0
bottom: 0
margin: auto
}
.twoBox_lever_two {
width: calc(100% - 10px)
height: calc(100% - 10px)
padding: 5px
}
.twoBox_lever_two .two_title {
width: 100%
height: 40px
background: #E6E6E6
border: 1px solid #ccc
border-radius: 5px
}
.twoBox_lever_two .two_title p {
font-size: 16px
color: #000
line-height: 40px
padding-left: 10px
font-weight: 700
}
.twoBox_lever_two form {
width: calc(100% - 20px)
margin: 10px
border-bottom: 1px solid #ccc
height: calc(100% - 100px)
}
.twoBox_lever_two form input {
height: 20px
line-height: 20px
padding: 0px 10px
margin: 5px
cursor: pointer
}
.twoBox_lever_two .two_footer {
height: 40px
text-align: right
padding-right: 10px
}
.twoBox_lever_two .two_footer button {
height: 30px
background: #E6E6E6
border: 1px solid #C7D3E6
text-align: center
line-height: 30px
font-size: 16px
color: #000
cursor: pointer
}
.twoBox_lever_two .two_footer button:first-of-type {
width: 120px
padding: 0px 10px
}
.twoBox_lever_two .two_footer button:last-of-type {
width: 50px
}
.show {
display: block !important
}
</style>
</head>
<body>
<div style="margin:10px">
<!-- 第一部分 -->
<div class="firstBox">
<h5>已有的用户 :</h5>
<table>
<thead>
<tr>
<th>名字</th>
<th>邮箱</th>
<th>密码</th>
</tr>
</thead>
<tbody>
<tr>
<td>姓名</td>
<td>xingtuan@qq.com</td>
<td>xingtuan</td>
</tr>
</tbody>
</table>
<button id="button">创建新用户</button>
</div>
<!-- 第二部分 -->
<div id="twoBox">
<div class="twoBox_lever">
<div class="twoBox_lever_two">
<div class="two_title">
<p>创建新用户</p>
</div>
<form>
<label style="float:left">名字:
<input type="text" placeholder="请输入名字">
</label>
<label style="float:left">邮箱:
<input type="text" placeholder="请输入邮箱">
</label>
<label style="float:left">密码:
<input type="password" placeholder="请输入密码">
</label>
</form>
<div class="two_footer">
<button>创建一个用户</button>
<button>取消</button>
</div>
</div>
</div>
</div>
</div>
</body>
<script>
window.onload = function () {
document.getElementById("button").onclick = function () {
document.getElementById("twoBox").classList.add("show")
}
}
</script>
</html>
边框是不算入元素大小的
所以我们需要将DIV的大小也改动(大小是绝对的时候需要改动:)
div{width:100px
height:100px
background:black
}
div:hover{
width:90px
height:90px
border:5px solid grey
}
这个就是会在边框动的时候把面积缩小,如果是相对大小就需要使用calc函数(计数器),例如:
div{width:90vw
height:90vh
background:black
}
div:hover{
width:calc(90vw - 10px)
height:calc(90vh - 10px)
border:5px solid grey
}
很简单的页面布局啊,例如第一张图,首先一个大的盒子,把他们都装起来,然后先分左右两个div,
然后左边的盒子再分三个盒子,第二个盒子再分左右两个盒子,第三个盒子也是一样。
或者左边的直接分两个盒子,第二个盒子分四个盒子,
设置浮动,给每一个小盒子设置width:calc(50%);
这样只能装两个盒子一行,剩下的自动换到下一行。
显示的结果是一样的,但是要注意同级浮动的影响,
要给第三个盒子清除同级浮动。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)