如何使一个div能够铺满整个页面? && 模态框的制作 && outerHTML
说明: 使用 ele.outerHTML = '' 这样的方法可以很容易的清除一个元素。 当然也可以使用parent.removeChild() ,但是相较而言,还是使用 outerHTML = '' 更容易、便捷一些。
如何使一个div能够铺满整个页面?
第一步:提出问题
最近在做项目,希望实现这样一个效果: 在首页的右下角fix一个搜索图片,点击这个搜索图片,就会弹出一个类似模态框的div,这个div会占领整个页面的位置。
第二步:使用demo测试
下面我们就利用一个简单的demo测试。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>fullPage</title>
<style>
* {
margin: ;
padding: ;
}
html, body, .fullpage {
width: %;
height: %;
}
.fullpage {
background-color: #abc;
color: white;
font-size: 35px;
text-align: center;
}
</style>
</head>
<body>
<div class="fullpage">
这是一段文字
</div>
</body>
</html>
效果如下所示:

这是最简单的一种方式。
如果我们希望当点击某一个按钮时, 这个模态框出现, 将其他内容全部覆盖呢? 并且其下面的内容不可滚动....应该怎么做呢?
首先看下面的例子:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>fullPage</title>
<style>
* {
margin: ;
padding: ;
}
html, body, .fullpage {
width: %;
height: %;
}
.fullpage {
display: none;
position: fixed;
top: ;
bottom: ;
left: ;
right: ;
background-color: #abc;
color: white;
font-size: 35px;
text-align: center;
}
button {
position: fixed;
bottom: 50px;
right: 50px;
background-color: red;
}
</style>
</head>
<body>
<div class="content">
快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>快乐<br/>
</div>
<button>click to fullpage</button>
<div class="fullpage">
文字<br/>文字<br/>文字<br/>文字<br/>文字<br/>文字<br/>文字<br/>文字<br/>文字<br/>文字<br/>文字<br/>文字<br/>文字<br/>文字<br/>文字<br/>文字<br/>
</div>
<script>
document.querySelector("button").onclick = function() {
document.querySelector(".fullpage").style.display = "block";
}
</script>
</body>
</html>
这里我利用将这个div的position: fixed; top: 0; bottom: 0; left: 0; right: 0;可以将这个div占满整个屏幕。
第三步: 运用到项目中
更好的做法是下面这样的:
var model = document.createElement("div");
model.style.cssText = "position: absolute; width: 100%; height: 100%; left: 0; top: 0; background: rgba(0, 0, 0, 0.7);z-index: 9998;";
document.body.appendChild(model);
即点击某个按钮之后直接创建一个div,然后利用cssText来填充。
注意: 因为这里直接添加到了 body 上,所以使用absolute和使用fixed得到的结果是类似的。
如下:
state.ifShowCart = !state.ifShowCart;
if (state.ifShowCart == true) {
var model = document.createElement("div");
model.id = "Model";
model.style.cssText = "position: fixed; width: 100%; height: 100%; left: 0; top: 0; background: rgba(0, 0, 0, 0.7);z-index: 9998;";
document.body.appendChild(model);
} else {
document.getElementById("Model").outerHTML = "";
}
即清空outerHTML即可将该元素去除。
如何使一个div能够铺满整个页面? && 模态框的制作 && outerHTML的更多相关文章
- 使一个div始终显示在页面中间
使一个div始终显示在页面中间 假设我们有一个div层:<div id=”myDiv”></div> 首先,我们用css来控制它在水平上始终居中,那么我们的css代码应该是这样 ...
- PPT如何一页多张打印且铺满整个页面
最近由于工作需要,有些ppt材料想打印出来学习,但是ppt页数较多,ppt单页打印有些浪费纸张,而且也不能拿到外面打印店去打印,所以只能自己动手设置一页多张打印,并且最后双面打印,这样就做够节省纸张了 ...
- 使一个div元素上下左右居中
第一种方法 浮动流自我调节 .box{ widht:200px; height:200px; position:relative; } .box .son{ width:100px; height:1 ...
- THINKPHP_(7)_THINKPHP6的controller模型接收前端页面通过ajax返回的数据,会因为一个div而失败
这个随笔比较短. 同样的前端页面代码,修改了一下,后端模型接收不到数据. 利用beyond compare软件比对两个前端文件, 发现多了一个</div>标签. 多了一个</div& ...
- 设置一个div网页滚动时,使其固定在头部,当页面滚动到距离头部300px时,隐藏该div,另一个div在底部,此时显示;当页面滚动到起始位置时,头部div出现,底部div隐藏
设置一个div网页滚动时,使其固定在头部,当页面滚动到距离头部300px时,隐藏该div,另一个div在底部,此时显示: 当页面滚动到起始位置时,头部div出现,底部div隐藏 前端代码: <! ...
- 让div铺满整个空间
需要用到几个css属性: .content{ width:100%;position: absolute;top: 50px;bottom: 0px;left: } 设置了bottom.top及abs ...
- JaveWeb 公司项目(1)----- 使Div覆盖另一个Div完成切换效果
最近在做网页,用的是CSS+DIV的布局方法,搭建了一个简易的界面,大体上分为三个部分,如图所示: 左侧的为主功能导航栏,右侧是具体的功能实现,下方是固定的版权声明,单击左边不同的导航按钮,在div中 ...
- 设置ImageView显示的图片铺满全屏
转自:http://m.blog.csdn.net/blog/wjwj1203/32334459 为适应不同屏幕的手机,ImageView显示的图片可能不铺满屏幕,如果定高的话,两边可能会出现空白 ...
- android设置GridView高度自适应,实现全屏铺满效果
使GridView每个item的高度自适应拉伸,达到整个GridView刚好铺满全屏的效果. public static void setGridViewMatchParent(GridView gr ...
随机推荐
- How to count the number of threads in a process on Linux
If you want to see the number of threads per process in Linux environments, there are several ways t ...
- C# 自带的.net类库 实现得到本机IP以及网关地址
今天需要用到一个功能,获取主机名和本机的IP 准备用API实现的,然后稍微查了一下,发现.net类库已经有了 就在System.Net命名空间中的DNS类中 GetHostName 获取本地计算机的主 ...
- Android-bindService远程服务启动其他应用的Activity
Service2应用,在AndroidManifest.xml文件中对外暴露MyService2服务: <!-- 代表在应用程序里,当需要该service时,会自动创建新的进程. android ...
- centos7 安装dnf包管理器和常用命令
Installing DNF Currently the DNF package comes from the EPEL repository, so if your Linux system is ...
- openedx下载汉化包的一些操作
首先我是用debian9系统,然后装了xface桌面,感觉挺好用的,怎么确定路径是否和别人的一样了,我主要参照edx-platform这个文件夹的位置. 1. 参照大神的这个贴子https://www ...
- Centos故障01:Docker容器丢失
问题 一测试环境,配置及应用如下: [Centos ~]# rpm -q centos-release centos-release-7-6.1810.2.el7.centos.x86_64 应用: ...
- zTree动态加载
@{ Layout = null;} <!DOCTYPE html> <html><head> <meta name="viewport" ...
- django shortcut function
render() render(request, template_name, context=None, content_type=None, status=None, using=None) 必须 ...
- MongoDB复制集与Raft协议异同点分析
此文已由作者温正湖授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 一.日志复制流程: a.raft leader节点在接收client请求后,先将请求写到日志中,再将日志通过 ...
- 使用docker部署java项目
在接触了docker后,干什么都想用docker来弄.最近刚做完毕业设计,本来是说将项目简单在本地部署就行了,结果老师说如果部署在服务器的话有加加分,于是果断用docker来搞,多加点分. java项 ...