隐藏textarea input等输入框边框和选中出现边框
textarea {
border: solid 0px;
outline:none;
}
textarea 输入时光标直接定位到后面,且不会展示placeholder文本
这种情况是默认有空格在输入框中,解决方案比较奇葩,需要将
<!-- 错误写法 -->
<textarea placeholder="请输入文本">
</textarea>
<!-- 正确写法 -->
<textarea placeholder="请输入文本"></textarea>
图片或者页面 bulingbuling闪动效果
.flicker {
/*width: 300px; */ /* 宽度 */
/*height: 300px; */ /* 高度 */
/*border:#666 1px solid;*/
/*border-radius:50%;*/
opacity: 0.1; /* 不透明度 */
overflow: hidden; /* 溢出隐藏 */
/* margin: 25% auto; */ /* 外边距 */
/* IE10、Firefox and Opera,IE9以及更早的版本不支持 */
animation-name: breath; /* 动画名称 */
animation-duration: 700ms; /* 动画时长3秒 */
animation-timing-function: ease-in-out; /* 动画速度曲线:以低速开始和结束 */
animation-iteration-count: infinite; /* 播放次数:无限 */
/* Safari and Chrome */
-webkit-animation-name: breath; /* 动画名称 */
-webkit-animation-duration: 3000ms; /* 动画时长3秒 */
-webkit-animation-timing-function: ease-in-out; /* 动画速度曲线:以低速开始和结束 */
-webkit-animation-iteration-count: infinite; /* 播放次数:无限 */
}
@keyframes breath {
from { opacity: 0.1; } /* 动画开始时的不透明度 */
50% { opacity: 1; } /* 动画50% 时的不透明度 */
to { opacity: 0.1; } /* 动画结束时的不透明度 */
}
@-webkit-keyframes breath {
from { opacity: 0.1; } /* 动画开始时的不透明度 */
50% { opacity: 1; } /* 动画50% 时的不透明度 */
to { opacity: 0.1; } /* 动画结束时的不透明度 */
}
去除textarea右下角角标
textarea {
resize : none;
}
内容溢出显示滚动条
<!-- x轴上内容超出显示滚动条 -->
overflow-x: auto;
<!-- y轴上内容超出显示滚动条 -->
overflow-y: auto;
<!-- 滚动条设置样式 -->
<!-- 设置滚动条的样式 -->
::-webkit-scrollbar{
width: 6px;
}
<!-- 滚动槽 -->
::-webkit-scrollbar-track{
-webkit-box-shadow:inset 0 0 6px rgba(0,0,0,0.3) ;
border-radius: 10px;
}
<!-- 滚动条滑块 -->
::-webkit-scrollbar-thumb {
border-radius: 10px;
background: rgba(0, 0, 0, 0.1);
-webkit-box-shadow: inset 0 0 2px #4d4b4b;
}
::-webkit-scrollbar-thumb:window-inactive {
background: rgba(255, 0, 0, 0.4);
}
当你想触发的事件被遮罩层挡住无法触发时
之前做提交表单的时候,因为html原生提供的radio样式不满足客户要求,需要将基础样式替换成美工提供的小角标,我的思路比较简单,就是将小角标定位在默认控件的上面,遮罩住,然后点击时,通过判断点击是左右两个单选项的哪一个,来进行角标图片的切换即可,但是写完之后,发现当我点击右侧控件试图切换角标时,发现由于角标遮罩在控件上面,导致无法正常进行切换,控件并未触发。最后在一篇大佬的博客上找到了解决方案。当上面元素遮盖下面元素时无法触发下面元素的点击事件,需要给遮盖层加一个css属性 :
pointer-events: none
html
<label>性 别
<input onclick="clickSelect()" style="position: relative; width: 30px; height: 30px; margin-left: 50px; margin-right: 20px;" type="radio" name="sex" checked="true" value="male">
<image id="iconSelect1" width="30px" height="30px" style="position: absolute; margin: 10px 0 0 -58px;" src="./image/selectA.png"></image>
</input>先生
<input onclick="clickSelect()" style=" position: relative; width: 30px; height: 30px; margin-left: 50px; margin-right: 20px;" type="radio" name="sex" value="female">
<image id="iconSelect2" width="30px" height="30px" style="pointer-events: none; position: absolute; margin: 10px 0 0 -58px;" src="./image/select.png"></image>
</input>女士
</label>
js
function clickSelect() {
var radioVal = $('input:radio:checked').val();
console.log('=====>', radioVal)
if(radioVal == 'female') {
$("#iconSelect2").attr('src', './image/selectA.png');
$("#iconSelect1").attr('src', './image/select.png');
} else {
$("#iconSelect1").attr('src', './image/selectA.png');
$("#iconSelect2").attr('src', './image/select.png');
}
}
pointer-events是css3的一个属性,指定在什么情况下元素可以成为鼠标事件的target(包括鼠标的样式)
有两个常用属性
auto——效果和没有定义pointer-events属性相同,鼠标不会穿透当前层。在SVG中,该值和visiblePainted的效果相同。
none——元素永远不会成为鼠标事件的target(目标)。但是,当其后代元素的pointer-events属性指定其他值时,鼠标事件可以指向后代元素,在这种情况下,鼠标事件将在捕获或冒泡阶段触发父元素的事件侦听器。实际上默认就可以穿透当前层,因为pointer-events默认为auto
请到客户端“主题--自定义配置--valine”中填入ID和KEY