a标签跳转
<a href="new_link" target="_blank">在新建页面打开链接</a>。 <a href="new_link">在当前页面打开链接</a>。
禁止选中
整个页面
<body onselectstart="return false">
FROM表单标签(标签属性)(无法获取表单属性)
disabled="disabled"
FROM表单标签(标签属性)(可获取表单属性)
readonly="readonly"
DIV LI等(标签样式)
style="pointer-events: none;"
禁止修改页面及开启调试模式等(未测试)
<script> //这段js要放在页面最下方 var h = window.innerHeight,w=window.innerWidth; //禁用右键 (防止右键查看源代码) window.οncοntextmenu=function(){return false;} //在本网页的任何键盘敲击事件都是无效操作 (防止F12和shift+ctrl+i调起开发者工具) window.onkeydown = window.onkeyup = window.onkeypress = function () { window.event.returnValue = false; return false; } //如果用户在工具栏调起开发者工具,那么判断浏览器的可视高度和可视宽度是否有改变,如有改变则关闭本页面 window.onresize = function () { if (h != window.innerHeight||w!=window.innerWidth){ window.close(); window.location = "about:blank"; } } /*好吧,你的开发者工具是单独的窗口显示,不会改变原来网页的高度和宽度, 但是你只要修改页面元素我就重新加载一次数据,让你无法修改页面元素(不支持IE9以下浏览器)*/ if(window.addEventListener){ window.addEventListener("DOMCharacterDataModified", function(){window.location.reload();}, true); window.addEventListener("DOMAttributeNameChanged", function(){window.location.reload();}, true); window.addEventListener("DOMCharacterDataModified", function(){window.location.reload();}, true); window.addEventListener("DOMElementNameChanged", function(){window.location.reload();}, true); window.addEventListener("DOMNodeInserted", function(){window.location.reload();}, true); window.addEventListener("DOMNodeInsertedIntoDocument", function(){window.location.reload();}, true); window.addEventListener("DOMNodeRemoved", function(){window.location.reload();}, true); window.addEventListener("DOMNodeRemovedFromDocument", function(){window.location.reload();}, true); window.addEventListener("DOMSubtreeModified", function(){window.location.reload();}, true); } </script>
同上(未测试)
一、屏蔽F12 审查元素 document.onkeydown = function(){ if(window.event && window.event.keyCode == 123) { alert("F12被禁用"); event.keyCode=0; event.returnValue=false; } if(window.event && window.event.keyCode == 13) { window.event.keyCode = 505; } if(window.event && window.event.keyCode == 8) { alert(str+" 请使用Del键进行字符的删除操作!"); window.event.returnValue=false; } } 除了屏蔽这个,我们还有其他有趣的设置: 二、屏蔽右键菜单 document.oncontextmenu = function (event){ if(window.event){ event = window.event; }try{ var the = event.srcElement; if (!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")){ return false; } return true; }catch (e){ return false; } } 三、屏蔽粘贴 document.onpaste = function (event){ if(window.event){ event = window.event; }try{ var the = event.srcElement; if (!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")){ return false; } return true; }catch (e){ return false; } } 四、屏蔽复制 document.oncopy = function (event){ if(window.event){ event = window.event; }try{ var the = event.srcElement; if(!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")){ return false; } return true; }catch (e){ return false; } } 五、屏蔽剪切 document.oncut = function (event){ if(window.event){ event = window.event; }try{ var the = event.srcElement; if(!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")){ return false; } return true; }catch (e){ return false; } } 这种很适合小说网站,毕竟版权珍贵,被别人随意copy走内容就不好了 六、屏蔽选中 document.onselectstart = function (event){ if(window.event){ event = window.event; }try{ var the = event.srcElement; if (!((the.tagName == "INPUT" && the.type.toLowerCase() == "text") || the.tagName == "TEXTAREA")){ return false; } return true; } catch (e) { return false; } }
禁用预先调试
var threshold = 160; // 打开控制台的宽或高阈值 // 每秒检查一次 window.setInterval(function() { if (window.outerWidth - window.innerWidth > threshold || window.outerHeight - window.innerHeight > threshold) { // 如果打开控制台,则刷新页面 window.location.reload(); } }, 1e3);
快捷判断
{{moneyrecordinfo.totalmoney||0}} <!-- 前面为true则显示,否则显示后面 -->
显示所有文字
white-space: normal; word-break: break-all;
文字显示两行,且超出部分隐藏
overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
文字显示一行,且超出部分隐藏
word-break: keep-all;
/*不换行*/
white-space: nowrap;
/*超出部分隐藏*/
overflow: hidden;
/*多余文字转换省略号*/
text-overflow: ellipsis;
text中划线
text-decoration: line-through;
下划线
text-decoration: underline;
文本居中
text-align: center;
input提示文字
<input placeholder="text" >
设置提示文字颜色(需从父元素开始选中)
.weui-btn-area input::-webkit-input-placeholder{ /*font-size: 28px;*/ color:#989898; }
设置空格
 
设置&
&
CSS记录
宽
width
高
height
布局
display
display:flex
阴影
box-shadow
box-shadow: 10rpx 10rpx 10rpx #909090;
边角弧度
border-radius
border-radius:20px;
border-radius:50%;
透明度
opacity
渐变色
background: linear-gradient(#b0b1f3, #8787f0);
内边距
padding
外边距
margin
上
top
下
bottom
左
left
右
right
引入网络图片
style="background-image:url({{item.thumb}});"
设置字体行距
line-height:22px
设置字体水平居中
text-align:center;
设置元素内第一个元素
.xj-smallspec :first-child{
margin: 0;
background: #000;
}
设置最后一个元素
last-child
颜色循环渐变
-webkit-animation: hue 6s infinite
设置文本不可选中
user-select: none;
设置光标样式
cursor: pointer;
设置li列表标签样式为空
list-style-type: none;
设置图片缩放比例
object-fit: cover;
vw(当前页面宽度视区等分为100,取值)
vh(当前页面高度视区等分为100,取值)
详见:https://www.zhangxinxu.com/study/201209/vw-vh-to-pixel.html
设置网页标题
console.log(document.title);//原标题 document.title='新标题';//新标题
元素选择器
选择符类型 | 表达式 | 描述 |
---|---|---|
子串匹配的属性选择符
|
E[att^="val"]
|
匹配具有att属性、且值以val开头的E元素
|
E[att$="val"]
|
匹配具有att属性、且值以val结尾的E元素
|
|
E[att*="val"]
|
匹配具有att属性、且值中含有val的E元素
|
|
结构性伪类
|
E:root
|
|
E:nth-child(n)
|
匹配父元素中的第n个子元素E
|
|
E:nth-last-child(n)
|
匹配父元素中的倒数第n个结构子元素E
|
|
E:nth-of-type(n)
|
匹配同类型中的第n个同级兄弟元素E
|
|
E:nth-last-of-type(n)
|
匹配同类型中的倒数第n个同级兄弟元素E
|
|
E:last-child
|
匹配父元素中最后一个E元素
|
|
E:first-of-type
|
匹配同级兄弟元素中的第一个E元素
|
|
E:only-child
|
匹配属于父元素中唯一子元素的E
|
|
E:only-of-type
|
匹配属于同类型中唯一兄弟元素的E
|
|
E:empty
|
匹配没有任何子元素(包括text节点)的元素E
|
|
目标伪类
|
E:target
|
匹配相关URL指向的E元素
|
UI元素状态伪类
|
E:enabled
|
匹配所有用户界面(form表单)中处于可用状态的E元素
|
E:disabled
|
匹配所有用户界面(form表单)中处于不可用状态的E元素
|
|
E:checked
|
匹配所有用户界面(form表单)中处于选中状态的元素E
|
|
E::selection
|
匹配E元素中被用户选中或处于高亮状态的部分
|
|
否定伪类
|
E:not(s)
|
匹配所有不匹配简单选择符s的元素E
|
通用兄弟元素选择器
|
E ~ F
|
匹配E元素之后的F元素
|
命名规则
外套 wrap ------------------用于最外层 头部 header ----------------用于头部 主要内容 main ------------用于主体内容(中部) 左侧 main-left -------------左侧布局 右侧 main-right -----------右侧布局 导航条 nav -----------------网页菜单导航条 内容 content ---------------用于网页中部主体 底部 footer -----------------用于底部
1、所有的命名小写 2、属性的值一定要用双引号("")括起来,且一定要有值如class="divcss5",id="divcss5" 3、每个标签都要有开始和结束,且要有正确的层次,排版有规律工整 4、空元素要有结束的tag或于开始的tag后加上"/" 5、表现与结构完全分离,代码中不涉及任何的表现元素,如style、font、bgColor、border等 6、<h1到<h5>的定义,应遵循从大到小的原则,体现文档的结构,并有利于搜索引擎的查询 7、给每一个表格和表单加上一个唯一的、结构标记id 8、给图片加上alt标签 9、尽量使用英文命名原则 10、尽量不缩写,除非一看就明白的单词 11、类名的第一个字符不能使用数字!它无法在 Mozilla 或 Firefox 中起作用