HTML、CSS、JavaScript拾遗
1、html元素中,如果有文本存在,当元素大小不足以容纳文本时,文本会进行强制换行。比如说设置页面不出现滚动条,body的overflow为hidden时,或者scroll为no时,span在超过页面时其内部文本会换行。设置span的white-space为nowrap即可强制令文本不换行。
white-space的作用是控制文本中间的换行符与空格符的
nowrap忽略换行符,即使超过父元素宽度也不换行,直到遇到br为止,会令滚动条出现(不自动换行,忽略换行符,合并空格)。
pre空白会被浏览器保留,换行符也会令文本换行,但同时,如果没有换行符的话,元素不会进行换行,结果就是出现滚动条(不自动换行,保留换行符,保留空格)。
normal默认,合并空白,忽略换行符,直到宽度不够显示文本时才进行换行,以不出现滚动条为优先条件(自动换行,忽略换行符,合并空格)。
pre-wrap保留空白符序列且正常换行,即保留换行符,同时若超过最大宽度,也会进行自动换行(自动换行,保留换行符,保留空格)。
pre-line合并空白符序列但保留换行,即保留换行符,会自动换行(自动换行,保留换行符,合并空格)。
2、css中使用伪类after::与before::可以创建元素,该元素并不属于document。
3、<script>标签中的async与defer。
一般的script标签(不带async等属性)加载时会阻塞浏览器,也就是说,浏览器在下载或执行该js代码块时,后面的标签不会被解析,例如在head中添加一个script,但这个script下载时网络不稳定,很长时间没有下载完成对应的js文件,那么浏览器此时一直等待这个js文件下载,此时页面不会被渲染,用户看到的就是白屏(网页文件已下载好,但浏览器不解析),而使用async属性,浏览器会下载js文件,同时继续对后面的内容进行渲染,通常如果js不需要改变DOM结构时可以使用async进行异步加载(比如一些统计代码可以异步加载,因为此代码与页面执行逻辑无关,不会改变DOM结构)。
defer则是在页面加载完毕之后开始执行,而不是异步执行。
4、函数声明(Function Declaration) 和 函数表达式(Function Expression )的区别
函数声明:function foo() {},函数表达式:var foo = function () {};
那这个写法,是不是同时存在函数声明也有函数表达式呢?var foo = function f() {};
这其实是一个「命名函数表达式」。
var foo = function f() {
return typeof f;
};
foo(); // return 'function'
另外,只有当语句以function开头才会被解释器当作函数声明来处理。在把函数对象作为参数或者作为引用使用时,两者通用,当直接调用函数时,两者也通用。但是当作为对象构造函数内部的函数时,两者是有区别的,必须使用第二种表达式形式。还有当使用闭包时,返回的函数是无法调用到这两种函数的,变量会被保留,函数却不会。
(function(){
var a = function(){}
function b(){}
this.c = function(){ a(); b(); }
})();
c();
c();是执行不到a和b的。var 方式定义的函数,不能先调用函数,后声明,只能先声明函数,然后调用。function方式定义函数可以先调用,后声明。var func=function 和 function func()在意义上没有任何不同,但其解释优先级不同:后者会先于同一语句级的其他语句。
5、JavaScript返回值
在JS引擎中,所有的语法,操作都有返回值,而且通常返回值是它本身或undefined。通常我们可以用"()"操作符,来获取当前句子的返回值(部分操作符不能用,如var)。例如:a=3;其实这行的返回值就是3,所以在a=b=3时,JS引擎就可以正确的执行下去,首先3赋值给b,然后当前的返回值3再赋值给a(而不是大家所认为的,先将3赋值给b,然后再将b赋值给a)。又例如函数var fun=function(){},当JS引擎执行到这行时,会先执行右边,返回值是一个函数的字面量,然后将这个函数字面量赋值给fun。
Jquery也是利用了这个特性(函数return this),所以才有链式调用。我们看个例子:"fontFamily".replace( /([A-Z])/g, "-$1" ).toLowerCase(),没错这里也是利用了返回值,所以这行的结果是:font-family。
6、CSS3中有一些滤镜
.gallery:hover li:not(:hover){
-webkit-filter: blur(2px) grayscale(1);
-moz-filter: blur(2px) grayscale(1);
-o-filter: blur(2px) grayscale(1);
-ms-filter: blur(2px) grayscale(1);
filter: blur(2px) grayscale(1);
opacity: .7; /* fallback */
}
filter定义滤镜,后面为滤镜效果
- grayscale 灰度 值为0-1之间的小数
- sepia 褐色 值为0-1之间的小数
- saturate 饱和度 值为num
- hue-rotate 色相旋转 值为angle
- invert 反色 值为0-1之间的小数
- opacity 透明度 值为0-1之间的小数
- brightness 亮度 值为0-1之间的小数
- contrast 对比度 值为num
- blur 模糊 值为length
- drop-shadow 阴影
7、css中一些特殊值
.front {
background: url(images/cardjfront.png) no-repeat center/100% 100%;
z-index:;
}
.back {
background: url(images/cardjback.png) no-repeat center/100% 100%;
transform: rotateY(180deg);
}
可以通过样式的background属性,调用url()函数,来设置背景图片。
HTML、CSS、JavaScript拾遗的更多相关文章
- html css javascript 加载的顺序
html /css /javascript 这三者的加载顺序影响整个页面的加载速度.而加载速度的快慢直接影响pv(访问量),而且会影响经济收入.在大网站中,可能打开速度快一秒,一年能多带来上亿的收入. ...
- Sublime Text插件:HTML+CSS+JAVASCRIPT+JSON快速格式化[转]
今天在github上乱逛,无意间找到victorporof分享的htmlpretty插件,特做推荐: 先看看他是怎么描述htmlpretty的: This is a Sublime Text 2 an ...
- html+css+javascript实现列表循环滚动示例代码
使用html+css+javascript实现列表循环滚动,设置时间定时,在规定的时间内替换前一个节点的内容,具体示例如下,感兴趣的朋友可以参考下 说明:设置时间定时,在规定的时间内替换前一个节点的内 ...
- HTML+CSS+JAVASCRIPT 总结
1. HTML 1: <!doctype html> 2: <!-- This is a test html for html, css, javascript --> 3: ...
- Umbraco(3) - CSS & Javascript(翻译文档)
原文地址:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/umbraco3css-javascript/ CSS & Jav ...
- 原创的基于HTML/CSS/JavaScript的层级目录树
之前参加过一些基于HTML/CSS/JavaScript的项目,当在页面中需要生成一颗目录树时,总是首先想着网上有没有现成的生成树的源代码,比如dtree.zthee,或者使用一些javascript ...
- MiniCodeEditor:只有168字节的在线Html/CSS/JavaScript编辑器
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:MiniCodeEditor:只有168字节的在线Html/CSS/JavaScript编辑器.
- CSS+Javascript的那些框架
CSS CSS 制作框架 SASS http://www.oschina.net/p/sass Blueprint http://www.oschina.net/p/blueprintcss Ela ...
- 3 Ways to Preload Images with CSS, JavaScript, or Ajax---reference
Preloading images is a great way to improve the user experience. When images are preloaded in the br ...
- Brackets - 强大免费的开源跨平台Web前端开发工具IDE (HTML/CSS/Javascript代码编辑器)
Brackets 是一个免费.开源且跨平台的 HTML/CSS/JavaScript 前端 WEB 集成开发环境 (IDE工具).该项目由 Adobe 创建和维护,根据MIT许可证发布,支持 Wind ...
随机推荐
- Windows2008 R2上完全卸载Oracle操作步骤(转)
最近现场项目,碰到了好几次oracle数据库被损坏,而且无法恢复的问题,没办法,只好卸载重装了.oracle卸载确实麻烦,都是从网上查的方法, 为了方便以后查询,在此就做一下记录. Windows20 ...
- GitFlow在命令行的使用
gitflow安装 在命令行直接使用yum安装 yum install gitflow 如果本地的yum源中不存在gitflow,可以尝试添加EPEL源 CentOS6.5: # 下载 wget ht ...
- Velodyne线性激光雷达pcap文件格式及写入、数据解析 Lebal:激光雷达
转载自https://blog.csdn.net/qq_25241325/article/details/80766305 roslaunch loam_velodyne loam_velodyne. ...
- ARM-Linux移植之(三)——init进程启动流程分析
我们通常使用Busybox来构建根文件系统的必要的应用程序.Busybox通过传入的参数来决定执行何种操作.当init进程启动时,实际上调用的是Busybox的init_main()函数,下面我们来分 ...
- springboot成神之——swagger文档自动生成工具
本文讲解如何在spring-boot中使用swagger文档自动生成工具 目录结构 说明 依赖 SwaggerConfig 开启api界面 JSR 303注释信息 Swagger核心注释 User T ...
- DataTable改变column类型
1.必须先克隆DataTable 2.列换类型 3.逐行往新DataTable赋值,并转换某列类型 如: DataTable dt = diorg.Clone(); //必须先克隆,此时并不包含数据 ...
- List<T>直接充当Combox控件DataSource并扩展自定义记录的方法
一般认为List只有转换为DataTable后才能充当CombBox的数据源,其实不然: List<SYS_COMMANDS> comdList = _menuMan.Load(c =&g ...
- 第五章 bean的加载(待续)
·············
- leetcode812
class Solution { public: double largestTriangleArea(vector<vector<int>>& points) { d ...
- 12个有趣的c语言面试题
1.gets()函数 问:请找出下面代码里的问题: #include int main(void) { char buff[10]; memset(buff,0,sizeof(buff)); gets ...