2016 年快结束了,最后一天总要留下点什么。
2016 年快结束了,最后一天总要留下点什么。
突然发现自己写的hexo模板有点问题,当页面主体高度不够的时候,footer页脚也跟着往上移,不在整个页面的底部了,很不协调,看着也不舒服。于是问题就来了,如何解决。
思路:将页面主体部分的min-height
设为100%,于是页面就可以充满整个浏览器窗口了,footer就不会低于页面高度了,然后footer部分再使用负的margin-top
来使footer往上移,这样就刚好置于页面底部。但这时候需要一个空的标签来保持主体部分距离底部的高度等于footer高度,防止文字覆盖在footer上面。
<body>
<div class="content">
主体正文
<div class="fix"></div>
</div>
<footer class="footer">
底栏固定
</footer>
</body>
</body>
前端开发中,经常遇到有些场景需要用到服务器环境,例如AngularJS中的路由,或者是模拟ajax获取数据等需求时,这个时候并不需要考虑到服务端逻辑,只是搭建简单的静态资源服务,因此解决方法有很多,下面介绍几种简单快捷的常用方式:
browser-sync,非常棒的工具,最吸引人的是它的监控和同步功能,体验非常好,可以不用一直f5刷新浏览器即可实时看到修改了的变化。只要在同个局域网,还可以在手机上也同步看到变化,不需要手动刷新,非常适合移动端调试,很推荐使用。
安装:
npm install -g browser-sync
积少成多的感觉。
一个很常见的问题,列表横向排列的时候,我们需要给每个列表设置右边距,通常最后一个是不必要设置的,如果网站需要兼容到IE8等不支持:last-child
之类的选择器时,其实可以这样解决:ul
列表可以设置宽度长一点,然后给ul
的父元素设置overflow:hidden
,这样每个li
设置margin:right
超出也无所谓,就不要再给最后一个li
设置右边距为0
用box-shadow
画边框
边框毫无疑问用border
来实现就行,如果需要再加一层呢?对的,用box-shadow
,box-shadow
第四个参数可以让阴影的半径增大或减小,可以将前三个参数设为0,就不会呈现出阴影效果而是边框效果
See the Pen GNBLWo by lonica (@lonica) on CodePen.
box-shadow
第四个参数长度是从边框外开始计算的,如果是两层box-shadow
的话,第二层的值必须大于第一层才能看的到。并且,它不是边框,只是个看起来像边框的阴影。所以相邻的元素会被box-shadow
部分遮挡住。
在MySQL中,Client和Server通信时可接收数据包的大小是受限制的,这个限制值为max_allowed_packet
,通信的最小单位就是packet,当Server接收的数据包大小超过了MySQL配置文件中max_allowed_packet
的限制值时,对数据库的读写操作则会失败。
那么如何修改这个值的大小。首先,我们可以通过这个命令先查看当前max_allowed_packet
值的大小:
SHOW VARIABLES LIKE '%max_allowed_packet%';
最近因换了硬盘,重新克隆Git项目到本地,因为使用的是HTTPS方式克隆的,在每次推送代码到Coding上时发现都要输入username和password,除非改成SSH方式,不然很不方便。
经过一番尝试,找到了解决方法:
git clone https://username:password@git.coding.net/username/Demo.git
写AngularJS代码时会时常发现,有时候明明数据模型更新了但是页面视图层并没有更新,然后只要在代码里加上一句$scope.$apply()
,视图就更新了。以前总是不清楚什么时候该用,现在清晰了,记录一下。
其实总结一句就是:DOM监听事件处理程序中的代码,外部的回调函数(例如setTimeout()
,setInterval()
)中的代码等不在Angular执行上下文中的代码,如果有修改到Angular数据模型时,则必须由我们手动调用$apply()
来获得视图层的更新。$apply
方法将会调用一个digest循环来更新整个视图层。