如何使一个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 ...
随机推荐
- Python Selenium 之常用API
Selenium WebDriver下提供许多用来与浏览器.元素.鼠标.键盘.弹框.下拉菜单和列表的交互和设置方法.这些是计算机模拟人工进行自动化测试所必要依赖的方法.下面将用列表的方式总结出常用的A ...
- IIC接口总线
转载:http://www.eefocus.com/article/08-07/48416s.html图11-1给出一个由MCU作为主机,通过IIC总线带3个从机的单主机IIC总线系统.这是最常用.最 ...
- Gym - 101498G(Super Subarray )
In this problem, subarray is defined as non-empty sequence of consecutive elements. We define a suba ...
- Retrofit+Rxjava observable转javabean失败
报错提示: Caused by: java.lang.IllegalArgumentException: Unable to create call adapter for io.reactivex. ...
- 【架构】基于Nutch+Hadoop+Hbase+ElasticSearch的网络爬虫及搜索引擎
网络爬虫架构在Nutch+Hadoop之上,是一个典型的分布式离线批量处理架构,有非常优异的吞吐量和抓取性能并提供了大量的配置定制选项.由于网络爬虫只负责网络资源的抓取,所以,需要一个分布式搜索引擎, ...
- uni-app开发踩坑记录
大部分问题是我在h5端看不到而在android.iOS平台上暴露出来的,不包含小程序 1.:class="['defaultStyle', dynamicStyle]" 不支持直接 ...
- dict字典;dict的操作
一.字典: 1. 字典 dict 用{}来表示 键值对数据 {key:value} 唯一性 键 都必须是可哈希的 不可变的数据类型就可以当做字典中的键 值 没有任何限制 1.1 字典的创建: ...
- [Objective-C语言教程]数字(13)
在Objective-C编程语言中,要以对象形式保存基本数据类型,如:int,float,bool.Objective-C提供了一系列与NSNumber一起使用的方法,一些常用重要的方法列在下表中. ...
- CF765F Souvenirs 离线+线段树+主席树
$ \color{#0066ff}{ 题目描述 }$ A县旁,连绵着一条长度为 n 的山脉,这条山脉由 n 座山峰组成,第 i 座山 峰的高度为 ai.作为著名的旅游县城,每天来到山脉游玩的旅客络绎不 ...
- 面试笔试(C++部分)
1.define 和const,inline的区别 define的缺点: 1.边界效应(必须加括号,才能避免边界效应) #define MUL(A,B) A*B 而在使用的时候,这样的调用: ,b=, ...