诗歌诗句垂直排版css
需求:
上一篇小编写了首打油诗 暴风雨 ,很多小伙伴咨询如何排版的,其实很简单运用了一个css属性 writing-mode
,这个属性在国际化中经常用到,因为有的海外国家的阅读和书写习惯跟我们不一样,嗯,跟我们古文的排版有点像,也算是巧合了,有了这个属性可以运用.
独书先生的小屋,记录Python、Web、软件测试等学习笔记,IT相关的各种应用
上一篇小编写了首打油诗 暴风雨 ,很多小伙伴咨询如何排版的,其实很简单运用了一个css属性 writing-mode
,这个属性在国际化中经常用到,因为有的海外国家的阅读和书写习惯跟我们不一样,嗯,跟我们古文的排版有点像,也算是巧合了,有了这个属性可以运用.
暴风雨独书先生 暴雨直下眼迷茫, 大风骤起飕脸庞。 雷声贯耳家中藏, 草香扑鼻思故乡。
pip install selenium
下载得到的exe文件放到python的安装目录下
问题:
VMware Workstation 与 Device/Credential Guard 不兼容。在禁用 Device/Credential Guard 后,可以运行 VMware Workstation
解决:
管理员CMD输入:
bcdedit /set hypervisorlaunchtype off
重新开启:
bcdedit /set hypervisorlaunchtype auto
参考自: https://www.zhihu.com/question/64511903/answer/260965170
问题:
本地写好一个 shell 脚本,传到服务器, 用 ./ 运行脚本文件出现 报错信息 cd: \$’ \r\r’: No such file or directory 或者是 /usr/bin/env: “bash\r”: 提示没有那个文件或目录
分析:
linux 环境下, \r 表示把光标移到行首,不显示任何内容. 猜测是自己写的脚本的格式不正确, 导致脚本在 linux 环境下解析出含有\r
解决办法:
用 vim 打开.sh 脚本文件, 重新设置文件的格式
:set ff 然后回车 再重新设置下文件格式:
:set ff=unix 然后保存退出
:wq! 回车
参考自: https://appsoftea.com/zh/linux-bash-no-such-file-or-directory/
npm运行项目时,报错:
Found binding for the following environments:
- Windows 64-bit with Node.js 11.x
发现此项目的npm包需要11.x版本node,那么为了不影响其他项目,可以采取管理多个node版本的方法,跟多版本python类似
主要是时间的计算
代码如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>倒计时</title>
<style>
* {
margin: 0;
padding: 0;
}
div,p {
font-size: 80px;
text-align: center;
}
#showTime span {
color: red;
}
#showTime span.time {
color: black
}
body {
padding-top: 200px;
}
</style>
</head>
<body>
<div>距离 <div id="timeSpan"></div> 还有</div>
<p id="showTime"><span></span></p>
<script>
var timeSet = '2020/4/13 00:10:00';
document.querySelector('#timeSpan').innerHTML = timeSet;
var msg = {
time: 0,
title: document.title,
timer: null,
//显示新消息提示
show: function () {
var title = msg.title.replace("", "").replace("【时间到啦】", "");
//定时器,此处产生闪烁
//由于定时器无法清除,在此调用之前先主动清除一下定时器打到缓冲效果,否则定时器效果叠加标题闪烁频率越来越快
clearTimeout(msg.timer);
msg.timer = setTimeout(function () {
msg.time++;
msg.show();
if (msg.time % 2 == 0) {
document.title = "【时间到啦】" + title
} else {
document.title = title
};
}, 300);
return [msg.timer, msg.title];
},
//取消新消息提示
//此处起名最好不要用clear,由于关键字问题有时可能会无效
clears: function () {
clearTimeout(msg.timer);
document.title = "哈哈哈";
}
};
var oSpan = document.getElementsByTagName('span')[0];
function tow(n) {
return n >= 0 && n < 10 ? '0' + n : '' + n;
}
function getDate() {
var oDate = new Date();//获取日期对象
var oldTime = oDate.getTime();//现在距离1970年的毫秒数
var newDate = new Date(timeSet);
var newTime = newDate.getTime();//2019年距离1970年的毫秒数
var second = Math.floor((newTime - oldTime) / 1000);//未来时间距离现在的秒数
var day = Math.floor(second / 86400);//整数部分代表的是天;一天有24*60*60=86400秒 ;
second = second % 86400;//余数代表剩下的秒数;
var hour = Math.floor(second / 3600);//整数部分代表小时;
second %= 3600; //余数代表 剩下的秒数;
var minute = Math.floor(second / 60);
second %= 60;
var str =
tow(day) + '<span class="time">天</span>'
+ tow(hour) + '<span class="time">小时</span>'
+ tow(minute) + '<span class="time">分钟</span>'
+ tow(second) + '<span class="time">秒</span>';
oSpan.innerHTML = str;
if (tow(minute) == '00' && tow(second) == '00') {
msg.show()
alert('时间到啦!')
}
}
getDate();
setInterval(getDate, 1000);
</script>
</body>
</html>
问题:
网页内拖动一个元素比较简单,但是如果是一个iframe,那么鼠标进入iframe内部后会失焦,因为是进入了另一个网页.失焦的结果就是拖动起来一闪一闪的.
解决:
这里采用了一个巧妙的遮罩来避免鼠标进入iframe内失焦问题,iframe用div包裹,iframe同级建一个空白div,初始时宽高为0,一旦mousedown则把宽高置为100%沾满父级的div遮住同级的iframe,这样鼠标拖动的时候就不会触发到iframe内部了, mouseup时再把div置为0,保持iframe内的正常监听.
代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>drag</title>
<style>
*{
padding: 0;
margin: 0;
}
body{
background-color: #929292;
}
.move {
position: absolute;
/*设置绝对定位,脱离文档流,便于拖拽*/
display: block;
width: 320px;
height: 486px;
background-color: transparent;
cursor: move;
/*鼠标呈拖拽状*/
border:10px solid transparent;
}
iframe{
position: absolute;
width: 100%;
height: 100%;
}
.mask{
position: absolute;
cursor: move;
user-select: none;
}
</style>
</head>
<body>
<div id="drag" class="move">
<iframe src="https://m.baidu.com" frameborder="no" border="0" marginwidth="0" marginheight="0" scrolling="no" allowtransparency="yes">可拖动区域</iframe>
<div class="mask"></div>
</div>
<script>
// 拖拽功能(主要是触发三个事件:onmousedown\onmousemove\onmouseup)
var drag = document.getElementById('drag');
var divMask = document.querySelector('.mask');
// 点击某物体时,用drag对象即可,move和up是全局区域,也就是整个文档通用,应该使用document对象而不是drag对象(否则,采用drag对象时物体只能往右方或下方移动)
drag.onmousedown = function (e) {
var e = e || window.event // 兼容ie浏览器
var diffX = e.clientX - drag.offsetLeft // 鼠标点击物体那一刻相对于物体左侧边框的距离=点击时的位置相对于浏览器最左边的距离-物体左边框相对于浏览器最左边的距离
var diffY = e.clientY - drag.offsetTop
/* 低版本ie bug:物体被拖出浏览器可是窗口外部时,还会出现滚动条,
解决方法是采用ie浏览器独有的2个方法setCapture()\releaseCapture(),这两个方法,
可以让鼠标滑动到浏览器外部也可以捕获到事件,而我们的bug就是当鼠标移出浏览器的时候,
限制超过的功能就失效了。用这个方法,即可解决这个问题。注:这两个方法用于onmousedown和onmouseup中 */
if (typeof drag.setCapture !== 'undefined') {
drag.setCapture()
}
divMask.style.width = '100%';
divMask.style.height = '100%';
document.onmousemove = function (e) {
var e = e || window.event // 兼容ie浏览器
var left = e.clientX - diffX
var top = e.clientY - diffY
// 控制拖拽物体的范围只能在浏览器视窗内,不允许出现滚动条
if (left < 0) {
left = 0
} else if (left > window.innerWidth - drag.offsetWidth) {
left = window.innerWidth - drag.offsetWidth
}
if (top < 0) {
top = 0
} else if (top > window.innerHeight - drag.offsetHeight) {
top = window.innerHeight - drag.offsetHeight
}
// 移动时重新得到物体的距离,解决拖动时出现晃动的现象
drag.style.left = left + 'px'
drag.style.top = top + 'px'
}
document.onmouseup = function (e) { // 当鼠标弹起来的时候不再移动
console.log('this', this)
this.onmousemove = null
this.onmouseup = null // 预防鼠标弹起来后还会循环(即预防鼠标放上去的时候还会移动)
// 修复低版本ie bug
if (typeof drag.releaseCapture !== 'undefined') {
drag.releaseCapture()
}
divMask.style.width = '0';
divMask.style.height = '0';
}
}
</script>
</body>
</html>
根据新冠肺炎疫情处置指挥部要求,为减少人员聚集…
打开Xshell的时候,报 “要继续使用此程序,您必须应用最新的更新或使用新版本”,如何不更新软件继续使用
最后推荐下小编现在这个网站用的服务器,是BlueHost的虚拟主机服务,支持一键快速搭建wordpress博客网站,免备案,全球CDN,通过我这个下方的链接注册还有优惠,购买后截图发给微信 liurunze— 可以返现30元现金。 免备案的BlueHost主机
感谢:
https://appsoftea.com/zh/xshell-xftp-donot-update
https://www.cnblogs.com/JasonCeng/p/11673999.html