前端开发知识汇总--HTML、CSS

2 篇文章 0 订阅

##前言
本文主要从html,css,JS,ng以及一些好玩的demo,做一个汇总,会不定期地更新。。
###HTML

  1. 在HTML中遇到需要用空格来做一些填充时,由于各个浏览器之间对于 的实际展示不一样,为了解决个浏览器之间的兼容问题,可以用半角空格ensp;或者全角空格emsp;就可以了,ensp相当于半格中文字符的宽度,emsp相当于一个中文字符宽度。
  2. 在使用CANVAS标签时,一定要设置宽高,而且这个宽高是作为canvas属性设置的,曾经被这个坑了,即
<canvas width='100' height='100'></canvas>

3 .dom操作造成页面卡顿,解决方案。

把DOM元素从页面流中脱离或隐藏,这样处理后,只会在DOM元素脱离和添加时,或者是隐藏和显示时才会造成页面的重绘或重排,对脱离了页面布局流的DOM元素操作就不会导致页面的性能问题。这种方式适合那些需要大批量修改DOM元素的情况。

var myElement = document.getElementById('myElement');
myElement.style.display = 'none';
// 一些基于myElement的大量DOM操作
...
myElement.style.display = 'block';

4.免费在线作图网站,作流程图特别好用!https://www.processon.com/
5.重置表单验证信息

$(form).formValidation(options);
$(form).data(‘formValidation’).resetForm();

angularjs
$scope.userForm.$setPristine();
\ $scope.userForm.$setUntouched();
###CSS

  1. 自定义滚动条样式(只能修改谷歌的)。参考

  2. css复合选择器,li:not(:first-of-type)选择除了第一个li。

  3. 文字两端对齐的CSS样式,例如对齐红框部分:
    对齐

.label {
  font-weight: 500;
  text-align: justify;
  width: 60px;
  text-justify: inter-ideograph;
  height: 18px;
}
.label::after {
  content: "";
  display: inline-block;
  padding-left: 100%;
}
  • 给一个元素设置三边阴影。
box-shadow: 0px 0px 2px -5px #00aaef, 0px 0px 0px #00aaef, 0px 4px 12px #00aaef, 0px 0px 0px #00aaef;
  • A标签伪类LVHA顺序来源:

根据元素CSS权重、特殊性分析,因为link、visited、hover、active权重特殊性均相同,所以根据使用习惯,要想让active始终有作用,需要让后者覆盖前者。

  • CSS3滤镜效果。参考
  • CSS画三角形网站。参考
  • HTML attr 和 DOM property区别

HTML attribute value指定了初始值;DOM value property 是当前值。添加或删除disabled attribute会禁用或启用这个按钮。但 attribute 的值无关紧要,这就是我们为什么没法通过 仍被禁用这种写法来启用按钮。

  • 自定义select样式
  select {  
  /*Chrome和Firefox里面的边框是不一样的,所以复写了一下*/  
  border: solid 1px #000;  
  
  /*很关键:将默认的select选择框样式清除*/  
  appearance:none;  
  -moz-appearance:none;  
  -webkit-appearance:none;  
  
  /*在选择框的最右侧中间显示小箭头图片*/  
  background: url("http://ourjs.github.io/static/2015/arrow.png") no-repeat scroll right center transparent;  
  
  /*为下拉小箭头留出一点位置,避免被文字覆盖*/  
  padding-right: 14px;  
}  
 
/*清除ie的默认选择框样式清除,隐藏下拉箭头*/  
select::-ms-expand { display: none; }  
  • 兄弟选择器
    div+p 选择当前div之后的父元素。
    选择当前元素的下一个相邻元素(必须拥有相同父元素)。

  • less 编译calc计算属性发生错误,解决办法:

使用~符号标记计算属性,例如,计算宽度为100%减去定长,并平分7份的值。
代码为:

 div{
 @wid: calc(~"100% - 115px");
 width: calc(~"@{wid} / 7");
 }

  • 消除table 中th,td空隙
border-collapse: collapse;
  • 选择文件夹上传
    利用HTML5的webkitdirectory属性。
    react默认不支持此属性的渲染,需要在componentDidMount的生命周期中,动态创建此属性,即
 componentDidMount() {
        this.refs.x.directory = true;
        this.refs.x.webkitdirectory = true;
    }

 render(){
 <input type="file" ref="x" name="fileList" />
}
  • float 副作用
    1.脱离普通文档流,无法基于该元素做margin。
    2.高度塌陷。

  • bfc 触发条件

    html根元素;
    float的值不为none;
    overflow的值为auto、scroll或者hidden;
    display的值为table-cell、table-caption和inline-block中的任何一个;
    position的值不为relative和static;

    //BFC的表现规则,内部元素的样式不会影响外部元素的样式(可用于解决高度塌陷)

  • flex子项比例

 <style>
  .box1 {
    height: 60px;
    border: 1px solid black;
    flex-grow: 1;
    width: 200px;
  }
  .box2 {
    border: 1px solid red;
    height: 60px;
    flex-grow: 2;
    width: 100px;
  }
  .box{
    display: flex;
    width: 300px;
  }
</style>
<body>
<div class="box">
  <div class="box1"></div>
  <div class="box2"></div>
</div>
// 本例中,box1为box2的2倍

flex中 子项设置了宽度后,优先以2个item宽度的比例去显示。未设置宽度情况下,以 flex-grow的比例为准。

  • 移动端字体px=>rem
    px=>rem
    rem 参考html font-size 默认16px
    假设设计图宽度750px ,

    html{
    font-size:calc(100vw/75) // 10px=>1rem
    }

  • css 滚频样式
    https://codepen.io/jh3y/pen/gOeGmRN

  • scroll 特效
    https://codepen.io/creativeocean/pen/gOvYEgq

  • 评分特效
    https://codepen.io/jkantner/pen/BarvVNa

###持续更新中~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值