思路:实现起来最麻烦的事实上是水平居中和垂直居中,当中垂直居中是最麻烦的。

考虑到浏览器兼容性,网上看了一些资料,发如今页面中垂直居中确实没有什么太好的办法。

于是就採用了position:fixed属性控制时钟的绝对位置。通过clientWidth和clientHeight来获取时钟的宽和高,利用javascript控制marginLeft和marginTop来居中时钟。

代码例如以下:

<!doctype html>
<html lang="en">
<head><meta charset="UTF-8"><title>Centered Clock</title><style type="text/css">body{background: #fff;}body, div, p{margin: 0;padding: 0;}.center{position: fixed;left: 50%;top: 50%;}.box{border: 1px solid #000;padding: 20px 30px;font-size: 1.5em;font-weight: 500;margin: auto auto;}</style>
</head>
<body><div class="center"><p class="box"></p></div>
</body>
<script type="text/javascript">window.onload = function () {getTimes();var box = document.getElementsByClassName("box")[0];box.style.marginLeft = -box.clientWidth / 2 + "px";box.style.marginTop = -box.clientHeight / 2 + "px";setInterval(getTimes, 1000);}function getTimes() {var box = document.getElementsByClassName("box")[0];var dateTime = new Date();var year = dateTime.getFullYear();var date = dateTime.getDate();var month = dateTime.getMonth() + 1;var hours = dateTime.getHours();var minutes = dateTime.getMinutes();var secondes = dateTime.getSeconds();box.innerHTML = year + "-" + format(month) + "-" + format(date) + " " + format(hours) + ":"+ format(minutes) +":" + format(secondes);}function format(a) {return a.toString().replace(/^(\d)$/, "0$1");}</script>
</html>

转载于:https://www.cnblogs.com/llguanli/p/7387644.html

用JavaScript和CSS实现“在页面中水平和垂直居中”的时钟相关推荐

  1. [css] 如何取消页面中选中的文字?

    [css] 如何取消页面中选中的文字? user-select: none; /* browser-specific values */ -moz-user-select: none; -webkit ...

  2. 在js中访问html页面,javascript – 在IE9的html页面中访问js里面的全局函数

    我正在尝试访问我在main.js文件中声明的全局函数,并尝试在html页面中使用它: (function(){ window.myFunction(); })(); 还有我的main.js文件 (fu ...

  3. 让div在body中水平和垂直居中

    我们在设计页面的时候,经常要把DIV居中显示,而且是相对页面窗口水平和垂直方向居中显示,如让登录窗口居中显示.我们传统解决的办法是用纯CSS来让DIV居中.在本文中,我将给大家讲述如何用CSS和jQu ...

  4. CSS、JS 使DIV水平 和 垂直居中的各种方法

    在Web开发中,固定高宽的div在网页中垂直居中很简单,相信大家也很容易的写出来,但是不是固定高宽的div如何垂直居中呢?我们在网页布局,特别是手机等web端网页经常是不固定高宽的div. 在这里,我 ...

  5. 使用CSS选择器在页面中插入内容

    在css中,我们可以使用:before伪元素选择器与:after伪元素选择器在页面的前面和后面以content属性的方式插入内容. 从css2.0添加这两个伪元素选择器到css2.1到现在的3.0,都 ...

  6. 只在当前页面生效的css样式,修改页面中的一个样式 仅在当前页面生效

    问题描述 校验的提示框出现在其他位置 怎么修改 问题出现的环境背景及自己尝试过哪些方法 尝试直接修改 样式 会修改掉全局的样式 怎么让这个样式仅在当前页面生效 相关代码 // 请把代码文本粘贴到下方( ...

  7. vue垂直布局_前端页面布局中水平、垂直居中问题

    前言 两年前工作时开的博客,一年前写了两篇博文,然后就到了现在才重拾起笔.原因有二,一是自觉技术不足,二曰懒. 最近由于在项目中遇到需求为拖动列可调整列顺序的表格,最后找到一款基于JQuery名为Da ...

  8. 使用纯CSS实现未知尺寸的图片(但高宽都小于500px)在500px的正方形容器中水平和垂直居中。你有几种方法?

    解决这个问题有多种方法 1.使用css hack 处理ie6下的问题. 2.嵌入其它标签使其垂直居中. 方法一: .box {             /*非IE的主流浏览器识别的垂直居中的方法*/ ...

  9. CSS - 使表格td中的文字垂直居中

    文字垂直居中的有如下的方法 方法一: valign:middle // 不推荐使用 代码如下: <table> <tbody> <tr> <td  valig ...

最新文章

  1. 以太网、局域网、互联网区别
  2. java前后端分离的实现方式_采用前后端分离的方式进行开发,实现了几种常用的文件上传功能...
  3. 关于RPM包中的rpmnew和rpmsave
  4. php中获取网站访客来源的关键词方法
  5. 计算机网络udp实验时间戳请求报文与应答报文的表格填写,自考计算机网络管理历年(2007.1-2013.1)试题及答案(标有页码)...
  6. VBScript数组函数
  7. [摘抄]软件设计模式的几个原则
  8. 坐标定位手机元素_CSS 是如何影响浏览器元素在文档中的排列?
  9. 基于 OpenCV 的图像阴影去除,你会吗?
  10. vue-cli关闭eslint及配置eslint
  11. 25.Yii2 自动加载
  12. 阿里消息中间件ONS消息乱序问题(二)
  13. 几何画板是哪方面的计算机应用,几何画板最新版
  14. c语言编程 消除直线锯齿,C语言 抗锯齿像素渲染
  15. Dockerfile搭建LNMP环境
  16. hdu2154跳舞毯(dp)
  17. java地图开发视频教程_java开发地图教程
  18. 学术论文写作方法和技巧
  19. vue filters的使用
  20. Javascript(五十四)class定义构造函数

热门文章

  1. 2022-2028年中国FNG硅胶行业市场研究及前瞻分析报告
  2. Python+OpenCV 图像处理系列(1)— Ubuntu OpenCV安装、图片加载、显示和保存
  3. 【牛腩新闻发布系统】整合前台04
  4. Python怎么利用多核cpu
  5. LeetCode简单题之学生分数的最小差值
  6. IP SOC与Camera ISP
  7. OFRecord 图片文件制数据集
  8. 深度学习Anchor Boxes原理与实战技术
  9. CMOS图像传感器理解
  10. php 哲学家进餐,IPC问题-哲学家就餐(示例代码)