前端经常使用场景总结CSS/JS/插件(实用篇更新中...)

2022年01月15日 阅读数:6
这篇文章主要向大家介绍前端经常使用场景总结CSS/JS/插件(实用篇更新中...),主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

垂直居中

<div class="box box1">
        <span>垂直居中</span>
</div>
.box1{
    display: table-cell;
    vertical-align: middle;
    text-align: center;        
}
.box2{
    display: flex;
    justify-content:center;
    align-items:Center;
}

a连接 禁止点击跳转

javascript:void(0);javascript


图片自适应

object-fit: cover;css


vue 横向滚动条

父级:html

overflow-y: hidden;
overflow-x: auto;
white-space: nowrap;

横向滚动条

.organ-result-content{
    width: 70%;
    height: 50px;
    overflow-y: hidden;
    overflow-x: auto;
    white-space: nowrap;
    font-size: 12px;
    position: fixed;
    bottom: 50px;
}
.organ-result-content-item{
    width: 65px;
    height: 28px;
    margin-top: 10px;
    margin-left: 5px;
    text-align: center;
    line-height: 28px;
    display: inline-block;
    border: 1px dashed #999;
    color: #666;
    position: relative;
}

鼠标指针放在一个元素边界范围内时所用的光标形状

cursor: pointer;前端


禁止选择

 -o-user-select: none;
  -moz-user-select: none; 
  -webkit-user-select: none; 
  -ms-user-select: none; 
  -khtml-user-select :none; 
  user-select: none;

设置边框不包含在长宽度里面:

box-sizing: border-box;

顶部固定效果

.tabbar{
	position:stycky;
	top:0;
	z-index:999
}

CSS实现单行、多行文本溢出显示省略号(…)

overflow: hidden;
text-overflow:ellipsis;
white-space: nowrap;
calc(100% - 20px)计算
position:absolute;position:relative绝对定位使用一般是父级定义position:relative定位,子级定义position:absolute绝对定位属性,而且子级使用left或right和top或bottom进行绝对定位。

jQuery动态设置样式(style、css)

<div style="background-color:#ffffff;padding-left:10px;">测试jQuery动态获取padding-left</div> vue

一、用css()方法返回元素的样式属性

$("div").css("padding-left")); java

二、用css()设置样式

$("div").css("color","yellow"); node

三、设置多个样式

$("div").css({"background-color":"yellow","font-size":"200%"}); jquery

var css = {  
    background-color: '#EEE',  
    height: '500px',  
    margin: '10px',  
    padding: '2px 5px'  
};  
$("div").css(css);

解决IE浏览器vue项目显示空白问题:

npm install --save @babel/polyfillcss3


轮播图插件:

轮播图插件git


阴影制做生成连接


测试浏览器是否可用

https://caniuse.com/


解决ie浏览器中formData.get()不生效问题

npm install formdata-polyfill
// 解决  ie浏览器图片上传  失败问题
import "formdata-polyfill";

数字字母自动换行不生效问题:

word-break: break-all;


// 登陆ie内核浏览器  禁止访问该系统推荐使用Google(谷歌浏览器)
          var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
          if (userAgent.indexOf('Trident') !== -1 || userAgent.indexOf('MSIE') !== -1) { //表示使用的是IE的内核
            alert("该系统暂时不支持IE内核浏览器,推荐使用Google(谷歌浏览器)")
          } else{
            this.onNavgate()
          }

解决IE浏览器报forEach相关错误

nodelist-foreach-polyfill


解决后台带html格式在前台显示问题

white-space: pre-line;


实现前端浏览器下载文件

location.href = `${urlConfig.xsgl_serverUrl}${urlConfig.getExportAllHtqdAll}?xsglHtId=${this.params.dqJdId}`

使用Git下载指定分支命令为:

git clone -b 分支名仓库地址


VUE等数组的深拷贝和浅拷贝

data: {
  tabs:[]
}
let tabs = this.data.tabs;   //浅拷贝
let tabs = JSON.parse(JSON.stringify(this.data.tabs)); //深拷贝

url拼接:
http://172.18.19.22:19076/flexoffice/web/dist/modules/login/sso_login.html?loginName="+userName+"&token="+data

能够将json字符串转换成json对象

JSON.parse(jsonstr);

将json对象转换成json对符串

JSON.stringify(jsonobj); 

图片在固定容器内自适应

父级:position:relative;
img{
	max-height:340px;
	max-width:690px;
	position:absolute;
	left:0;
	right:0;
	top:0;
	bottom:0;
	margin:auto;
}

数组去重

const numbers = [1, 2, 3, 4, 4, 1]
console.log([...new Set(numbers)]) // [1, 2, 3, 4]

从数组中过滤全部虚值

const myArray = [1, undefined, null, 2, NaN, true, false, 3]
console.log(myArray.filter(Boolean)) // [1, 2, true, 3]

将字符串转换为数字

const str = '123'
const num = +str
console.log(typeof num) // number

将数字转换为字符串

const num = 123;
console.log(num + ''); // '123'

使用 && 符号简写条件判断语句

// 普通写法
if (condition) {
    doSomething()
}

// 简写
condition && doSomething()

若是你想添加一个事件监听器而且只运行一次,你能够使用 once 选项:

element.addEventListener('click', () => console.log('I run only once'), {
    once: true
});

为了提升数字的可读性,您能够使用下划线做为分隔符:

const num = 2_000_000_000
console.log(num) // 2000000000
使用 dataset 属性访问元素的自定义数据属性 (data-*):
<div id="card" data-name="FE" data-number="5" data-label="listCard">
    卡片信息
</div>

<script>
    const el = document.getElementById('card')

    console.log(el.dataset)
    // { name: "FE", number: "5", label: "listCard" }
  
    console.log(el.dataset.name) // "FE"
    console.log(el.dataset.number) // "5"
    console.log(el.dataset.label) // "listCard"
</script>