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

时间:2022-06-24
本文章向大家介绍前端开发知识汇总--HTML、CSS,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/j_bleach/article/details/67063297

##前言 本文主要从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样式,例如对齐红框部分:
.test1 {
  text-align:justify;
  text-justify:distribute-all-lines;/*ie6-8*/
  text-align-last:justify;/* ie9*/
  -moz-text-align-last:justify;/*ff*/
  -webkit-text-align-last:justify;/*chrome 20+*/
}
@media screen and (-webkit-min-device-pixel-ratio:0){/* chrome*/
  .test1:after{
    content:".";
    display: inline-block;
    width:100%;
    overflow:hidden;
    height:0;
  }
  • 给一个元素设置三边阴影。
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 }

###持续更新中~