说明: 使用 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的更多相关文章

  1. 使一个div始终显示在页面中间

    使一个div始终显示在页面中间 假设我们有一个div层:<div id=”myDiv”></div> 首先,我们用css来控制它在水平上始终居中,那么我们的css代码应该是这样 ...

  2. PPT如何一页多张打印且铺满整个页面

    最近由于工作需要,有些ppt材料想打印出来学习,但是ppt页数较多,ppt单页打印有些浪费纸张,而且也不能拿到外面打印店去打印,所以只能自己动手设置一页多张打印,并且最后双面打印,这样就做够节省纸张了 ...

  3. 使一个div元素上下左右居中

    第一种方法 浮动流自我调节 .box{ widht:200px; height:200px; position:relative; } .box .son{ width:100px; height:1 ...

  4. THINKPHP_(7)_THINKPHP6的controller模型接收前端页面通过ajax返回的数据,会因为一个div而失败

    这个随笔比较短. 同样的前端页面代码,修改了一下,后端模型接收不到数据. 利用beyond compare软件比对两个前端文件, 发现多了一个</div>标签. 多了一个</div& ...

  5. 设置一个div网页滚动时,使其固定在头部,当页面滚动到距离头部300px时,隐藏该div,另一个div在底部,此时显示;当页面滚动到起始位置时,头部div出现,底部div隐藏

    设置一个div网页滚动时,使其固定在头部,当页面滚动到距离头部300px时,隐藏该div,另一个div在底部,此时显示: 当页面滚动到起始位置时,头部div出现,底部div隐藏 前端代码: <! ...

  6. 让div铺满整个空间

    需要用到几个css属性: .content{ width:100%;position: absolute;top: 50px;bottom: 0px;left: } 设置了bottom.top及abs ...

  7. JaveWeb 公司项目(1)----- 使Div覆盖另一个Div完成切换效果

    最近在做网页,用的是CSS+DIV的布局方法,搭建了一个简易的界面,大体上分为三个部分,如图所示: 左侧的为主功能导航栏,右侧是具体的功能实现,下方是固定的版权声明,单击左边不同的导航按钮,在div中 ...

  8. 设置ImageView显示的图片铺满全屏

    转自:http://m.blog.csdn.net/blog/wjwj1203/32334459   为适应不同屏幕的手机,ImageView显示的图片可能不铺满屏幕,如果定高的话,两边可能会出现空白 ...

  9. android设置GridView高度自适应,实现全屏铺满效果

    使GridView每个item的高度自适应拉伸,达到整个GridView刚好铺满全屏的效果. public static void setGridViewMatchParent(GridView gr ...

随机推荐

  1. python读写操作csv及excle文件

    1.python读写csv文件 import csv #读取csv文件内容方法1 csv_file = csv.reader(open('testdata.csv','r')) next(csv_fi ...

  2. 安装并使用PICT,生成测试用例

    一.PICT简介 PICT工具是在微软公司内部使用的一款承兑组合的命令行生成工具,现在已经对外提供,可以在 http://download.microsoft.com/download/f/5/5/f ...

  3. 记一次阿里云linux病毒清理过程

    1.起因   因为这台服务器是我们公司内部开发服务器,几乎每个人都有root密码.在两天前突然有同事反馈说偶尔会有ssh连不上,git代码无法提交的问题,刚开始也没有在意,以为是阿里云服务器网络波动的 ...

  4. 反省在北京某S2B2C电商小型公司面试时掉链子的问题

    昨天,参与北京一家公司面试时,不知道为什么,错了很多题,这些题在该家公司之前已经被问很多次了,当天精神恍惚的没答上来或答错,被问到数据库优化和乐观锁的问题,首先我谈到了存储引擎底层的数据结构 B树/B ...

  5. Zeal - 开源离线开发文档浏览器

    https://zealdocs.org/ win10上暂时安装版会crash,请用portalable的解压版

  6. DELL PowerEdge R410系统日志满报错

    DELL PowerEdge R410系统日志满报错 重启服务器时在自检过程中看到CTRL+E时快速按下CTRL+E进入到远程管理ip地址配置界面

  7. 201621123023《Java程序设计》第2周学习总结

    一. 本周学习总结 引用类型变量存放指向对象的引用(类似于地址): == 与 equals 区别在于:==比较的是引用是否相等, 而equals则比较指向对象的内容是否相等: 因为String的不可变 ...

  8. android相对布局中控件的常用属性

    Android布局属性详解 RelativeLayout用到的一些重要的属性: 第一类:属性值为true或false android:layout_centerHorizontal 水平居中 andr ...

  9. leecode刷题(13) -- 字符串中的第一个唯一字符

    leecode刷题(13) -- 字符串中的第一个唯一字符 字符串中的第一个唯一字符 描述: 给定一个字符串,找到它的第一个不重复的字符,并返回它的索引.如果不存在,则返回 -1. 案例: s = & ...

  10. 自己实现一个shell

    用C实现一个简单的交互式shell,要求:当用户输入一行命令时,识别程序名和参数并调用适当的exec函数执行程序,等待执行完成后给出提示符. exec函数实际上是六种以exec开头的函数,统称exec ...