npm scripts 助力前端开发,实时刷新

2016-10-10, 星期一 |
tutorial前端

browser-sync或者lite-server来监控文件的改变,当文件改变时,就自动刷新浏览器。

node-sass来实时编译scss文件。

parallelshell来异步执行npm script命令。

先安装上述的node工具

npm install -g browser-sync

一、首先新建npm的package.json

package.json一般有如下的结构和选项

{
"name": "about",
"version": "1.0.0",
"scripts": {
},
"devDependencies":{

}
}

devDependencies代表依赖的node工具,scripts代表npm scripts命令。

"scripts": {
    "scss": "node-sass -w scss -o css",
    "serve": "browser-sync start --server --files \"css/*.css, *.html\"",
    "dev": "parallelshell \"npm run serve\" 

激活win10,一个KMS服务器

2016-10-06, 星期四 |
秘诀解决方案windowshack

服务器地址:kms.03k.org

脚本维护更新:2016-09-29

参考:http://03k.org/kms.html

http://jingyan.baidu.com/article/22a299b53980b19e19376aaf.html

Django模板中List forLoop的最后一个是forloop.last

2016-09-23, 星期五 |
Django短说

for循环在Django模板中是常用的,有时候需要对循环的末尾的对象给予特殊的对待,例如下图

下图中的标示部分,循环列表的最后一个条目不需要下边框,于是乎就要在模板中加一个判断,即如果是最后一个条目,就不要这个效果。

forloop.last表示当前for中的最后一个,类似的还有forloop.counter表示以1开头的forloop当前所在位置,forloop.first表示当前for中的第一个,forloop.parentloop表示父级循环中的当前位置。

参考: http://stackoverflow.com/questions/837237/django-template-for-loop-last-iteration

https://docs.djangoproject.com/en/1.10/ref/templates/builtins/#for

word-break设置换行时词条的显示

2016-09-23, 星期五 |
样式

是什么意思?看下图

图片中的标示部分,百褶裙后面明明还有空隙,表明他的后面是还可以容纳几个文字的。但是,容纳牛仔裙背心裙等六个字却不足够。于是乎,有必要像图片中那样将牛仔裙背心裙等这个词条整体在下一行显示,就如图中的所示一样,以正确的方式。

怎么做到?

word-break: keep-all;

值得注意的是图中的词条并不是简单的以空格来进行隔开,而是每一个都容纳在的各个span标签和a标签里面。

单行文本如何居中对齐

2016-09-23, 星期五 |
秘诀前端样式

居中对齐当然是针对多行文本,还来单行文本居中对齐之说?是有的,请看下面的这个图。

.fulljustify {
  width: 100px;
  text-align: justify;
}
.fulljustify:after {
  content: "";
  display: inline-block;
  width: 100%;
}

这种办法实际上就是利用伪元素在单行文本的底下添加一行与之同宽且显示为空的内容,于是乎单行变成了多行,居中对齐也就生效了。达到了这样的效果,即即便是字数不一样,只要是宽度相同且足够,那么在不同位置的单行文本也可以左右文本对齐。

另外要注意,由于单行文本的底下实际上增加了一行文本,这就导致其高度变高,如果其高度超过了其父元素,当堆积起来时可能就会导致相应的显示问题,这时单行文本的父级元素的高度需要给够。

参考:http://blog.vjeux.com/2011/css/css-one-line-justify.html