• 搜索:css

Docker Compose 事半功倍,容器部署更方便简洁

Docker Compose是什么 Docker Compose 是一个工具,这个工具可以通过一个 yml 文件定义多容器的 Docker 应用. 通过一条命令就可以根据 yml 文件的定义去创建或者管理多个容器. 什么是yml文件 YML文件格式是YAML (YAML Aint Markup Language)编写的文件格式, YAML是一种直观的能够被电脑识别的的数据数据序列化格式,并且容易被人类阅读,容易和脚本语言交互. 如何定义yml文件 新建 docker-compose.yml 文件 version: '3.7' services: mongodb: contain

推荐一个极简社会化分享插件basicShare

basicShare 推荐一款极简的分享插件 之前用过百度分享,后来博客切换https服务后, 百度分享插件加载报错, 再加上目前主流的社会化分享目的地也就是 微信,微博, 或许是80后的我真的out了, 这个插件基本满足我的需要 极致简洁 UI效果 截图展示效果有点大.... 看看实际效果: 分享 站点没有下载icon,所以前面的分享icon变成了方框□ css .basicShareBtn { cursor: pointer; background-color: #dff0d8; border-color: #d6e9c6; color: green; font-size: 1

position Fixed on Scroll 相对定位时内容超出范围出现滚动条

之前写过一篇 关于css相对定位不跟随滚动条移动点击查看. 正如我的博客内容页右侧目录的效果. 垂直滚动内容时,右侧目录始终定位在右上角不跟随滚动条. 但是, 当我的目录足够长,因为它不跟随滚动条垂直移动, 导致超出屏幕的部分无法看到. 右侧目录相对定位 'position': 'fixed', 'top': 25px, 'width': 400px top 25px 是因为我的博客顶部菜单高度25px,所以为了不让菜单遮挡右侧目录,所以距离顶部25px 但是页面初始化后,我们并不想直接让目录相对定位到右上角, 因为右上角还有需要展示的模块, 我们更希望是滚动条滚动到目录模块时,这个模块始

html5的语义化标签

语义化标签 HTML 5的革新之一:语义化标签. 在HTML 5出来之前,我们用div来表示页面章节,但是这些div都没有实际意义。(即使我们用css样式的id和class形容这块内容的意义)。这些标签只是我们提供给浏览器的指令,只是定义一个网页的某些部分。但现在,那些之前没“意义”的标签因为因为html5的出现消失了,这就是我们平时说的“语义” 如上图那个页面结构没有一个div,都是采用html5语义标签. 但是也不要因为html5新标签的出现,而随意用之,错误的使用肯定会事与愿违; 所以有些地方还是要用div的,就是因为div没有任何意义的元素,他只是一个标签,仅仅是用来构建外观和结构

[投稿] 北京 海淀区 招聘 高级 node.js 开发工程师

联系站长免费投稿发布招聘信息 职责 负责公司两大平台智课网(smartstudy.com)和极智批改网(smartpigai.com)功能开发、 BUG修复及日常维护,依据公司产品设计完成产品功能模块的编程开发。 职位 node.js 高级开发工程师 学历 本科及以上 坐标 北京 - 海淀区 - 交通大学 - 上园村3号北交大知行大厦2层 要求 1、计算机相关专业,本科及以上学历; 2、熟悉nodejs相关开发框架,理解异步编程模式; 3、熟悉css, html5; 4、熟悉linux/mac系统; 5、熟练掌握MySQL数据库,配置管理等操作; 6、熟悉常用的数据结构和算法,

ssh 超时问题改善方案

ssh连接超时问题解决方案: 修改server端的 etc/ssh/sshd_config 配置 ClientAliveInterval 7200 #server每隔7200秒发送一次请求给client,然后client响应,从而保持连接 ClientAliveCountMax 30 #server发出请求后,客户端没有响应得次数达到30,就自动断开连接,正常情况下,client不会不响应 重启配置: service sshd reload $TMOUT系统环境变量 配置 sudo nano /etc/profile 在最后一行增加 export TMOUT=1800(单位秒) 保存并

m3u8 跨平台 全兼容 移动 web在线视频 播放器

什么是m3u m3u是一个纯文本文件,虽然我们平时看到播放器首先加载了此文件,但是它并不是一个音频文件。 播放器并不是播放它,而是根据它的记录找到网络地址进行在线播放 什么是m3u8 m3u8 是在 m3u 格式下扩展出来的, 可以播流或者点播形式,目的是实现时实性及保密性它会不让你获取它的视频所在地址 浏览器使用的是 m3u8 文件。 m3u8 跟音频列表格式 m3u 很像,可以简单的认为 m3u8 就是包含多个 ts 文件的播放列表。 播放器按顺序逐个播放,全部放完再请求一下 m3u8 文件,获得包含最新 ts 文件的播放列表继续播,周而复始。 整个直播过程就是依靠一个不断更新

webpack 前端加载工具 让 浏览器端 javascript 执行 CommonJS规范

#为什么用webpack 如果我们 前端 javascript 能像 node.js 一样 require 去引用一个依赖包,那么前端的世界就不会像现在这么乱 现在为什么乱? 假设: a.js 依赖 b.js b.js 依赖 c.js c.js 依赖 d.js 如果在我们前端去引用这些依赖的时候,往往是这样的: <script src='a.js'></script> <script src='b.js'></script> <script src='c.js'></script> <scri

javascript 动态加载按顺序加载运行 js

javascript 在浏览器中的加载是如何的? 如何你的 script 上没有任何 异步,阻塞 等标注: 浏览器会异步加载 javascript 文件,但是会按照引用文件中的书写顺序从上到下执行解析 javascript Defer属性标记 defer是html4.0中定义的,该属性使得浏览器能延迟脚本的执行,等文档完成解析完成后会按照他们在文档出现顺序再去下载解析。 也就是说defer属性的 script 就类似于将 script 放在body中的加载 效果一致. 但是defer属性在各个浏览器中支持程度有点不同,就是说,有的浏览器不完全支持. Async属性标注 as

React Native 学习 如何使用 style 样式

关于 React Native 学习 系列之如何定义css 样式 样式 React Native 不实现 CSS,而是依赖于 JavaScript 来为你的应用程序设置样式。这是一个有争议的决定,你可以阅读那些幻灯片,了解背后的基本原理。 声明样式 在 React Native 中声明样式的方法如下: var styles = StyleSheet.create({ base: { width: 38, height: 38, }, background: { backgroundColor: '#222222', }, active:

[投稿] 深圳 南山区 高薪招聘 web 开发 攻城狮

坐标: 深圳 , 南山区 职位: web 开发工程师 岗位职责: 1、负责后台相关业务系统的设计和研发; 2、负责平台开放接口的设计和研发; 3、优化性能、维护现有系统的功能模块、扩展的基础框架; 任职要求: 1、本科学历以上,计算机或相关专业,2年以上工作项目经验;对javascript语言本身有较为深刻的理解。 2、 了解NodeJS及其相关框架 ,要求至少有1年以上的服务器端研发经验; 3、对数据结构和算法设计有一定的理解; 4、熟悉MongoDB或MySQL ,有较强的SQL编程、优化能力; 5、熟悉Linux,熟悉常用的Shell命令; 6、熟练使用Git代码管理工具及

node.js webkit 项目 开启node.js 桌面应用

为什么是 node.js 桌面应用 准确的说,这只是一个浏览器, node-webkit 项目是 chromium 和 node.js 搭建起来的本地运行时环境. 我们知道node.js 是javascript 在服务器端通过强大的 V8 引擎实现的. chromium 内置了 V8 引擎 所以 node-webkit 就这样结合起来了. 回到刚才的问题,为什么说是桌面应用 Node支持的与操作系统交互的功能,文件系统,网络 , 操作系统资源等, 以及Node之上的第三方库都可以在node-webkit中进行使用 所以他很像是一个桌面级应用,但是又有区别 和传统桌面应用不

mac 下的 tree 命令 终端展示你的目录树结构

在 linux 下你可以很方便的使用 tree 命令来查看当前目录下的目录树机构. 但是在 mac 下,至少你需要安装一个工具. 开始,我从网上找到了一个shell 命令打印 tree 结构的方法. find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g' 你可以在你的终端下,直接输入上面的shell 命令来查看当前目录的结构树 如何把它变成一个 命令,直接使用呢 我们想到了 alias 指定别名的方法 alias tree="find . -print | sed -e 's;[^/]*/;|____;g;s;___

css fixed 定位 让局部UI固定 不跟随滚动条移动

在国庆长假马上结束时,分享一篇关于 css定位的博文,收回你的玩心,开始工作了. css 中的定位是一个重点,也是难点,之前有一篇专门探讨 css中position定位的问题 达到的效果 如果你够细心的话,你会发现我的博客列表也和博文详情页右侧侧边栏有变化 之前侧边栏是跟随滚动条移动的,当右侧内容不足时,会看到一片空白,体验不好 所以我希望,当滚到到右侧无内容填补时,指点的模块能做一个固定定位,漂浮在顶部右侧,不再跟随滚动条移动 简单说,当右侧侧边栏有内容时,跟随滚动条上下移动 当滚动到右侧无内容时,最小边的模块一直漂浮在右上角,如下图 入群讨论 和 订阅公众号 模块始终

node.js 使用 UglifyJS2 高效率压缩 javascript 文件

UglifyJS2 这个工具使用很长时间了,但之前都是在 gulp 自动构建 时用到了 UglifyJS 算法进行压缩. 最近玩了一下 UglifyJS2 ,做了一个 在线压缩javascript工具 欢迎点击玩耍. 为什么要压缩 javascript 因为每个人开发者的书写习惯,定义参数习惯,已经使用习惯都不一样. 所以相同的功能出自不同开发者代码各异.这里牵扯到一个代码所占空间. 以前端为例来说明 大家通常都会认为,现在在网络时代,动不动就是10M光纤,拨号上网让人感觉是上个世纪的方式..... 说法是没有问题,但是,我们今天讨论的并不是终端下载速度. 而是前端压缩对服务器有何利

CSS3 响应式布局 Media Queries 媒体查询学习

css3 响应式布局学习 响应式:就是根据不同设备,或者设备不同分辨率,动态给出对应的样式变化 响应不同的设备 涉及到 css 中的 Media Queries ,这个词组被译为 "媒体查询" Media Queries 用法如下: <link href="css/main.css" rel="stylesheet" type="text/css" media="screen" /> 或者另外一种引入css 文件的方法 <style type="text/css" media="screen"> @import url("css/sty

整理一些css 中关于 中文 英文 折行 省略 不折单词 等问题

记录规整一些 关于CSS 处理中文 /英文 折行/不折行 省略 等问题. 这些问题涉及到了几个css 属性,简单记录一下,以备以后碰到 涉及到控制上面提到的问题,必须注意一点,你的容器设定了固定的宽度 英文字母换行,只对英文字母起作用,如果是单词,可能一个单词被拦腰折断 word-break:break-all; word-break语法: word-break: normal(默认) | break-all | keep-all Firefox、Opera不能识别 normal: 依照亚洲语言和非亚洲语言的文本规则,允许在字内换行。 break-all: 该行为与亚洲语言的

透明遮罩层 垂直居中的div 内容不透明

因为没有新增 css 类别,所以关于css 的东西暂时归类到了 Html5 今天干活遇到的几个问题,下班前和大家分享 透明遮罩层 居中内容不透明 居中div显示内容 因为我的html5页面只在手机端展示,所以不考虑万恶的IE低版本浏览器 并且我把单独的css内容直接定义在html 标签里,这样你们看起来更加直观 透明遮罩层 <div id="nav_img_ios" style="display:none;height:100%; width:100%; position:fixed; _position:absolute; top:0; z-index:10

javascript 生成二维码实现链接从微信内跳出

现在的二维码相当火,借着移动互联网的风口也快飞起来了.现在各种语言的各种开源包,基本都有对应的生成二维码的源码.但是今天我们分享的不是服务器生成二维码,而是前端页面如果用 javascript 来生成一个二维码.这种动态生成二维码的需求越来越多.如果都要依靠服务器端赖生成,第一:面临资源紧缺的状况,如果在大的并发环境,这种cpu密集型计算必定导致一个问题,就是请求排队,那就不用谈了.用户不会一直在傻傻的等你.第二:就算你顺利生成了二维码,还面临一个网络传输带宽的压力,虽然它很小很小,但是当在一个并发压力大的环境下,依然面临带宽被占的问题.这样说来,如果能在客户端生成二维码,貌似是最好的解决方案

padding margin 的盒子模型 及 0 auto 为何能居中

初学css 的同学很难分清 margin 和 padding 真正所表达的意思.很早之前我们知道 padding 表示内边距, margin 表示外边距.这个定义让人迷惑.按照上面的盒子模型,可能理解起来更好一点.这个图里有一个盒子,就是除去最外层黄色部分.这时你独立看剩下的这个盒子,padding 表示content 距离盒子上下,左右边的距离(不包括border本身距离)所以 padding 是指盒子内容相对盒子本身上下左右各边的距离.当然也可以 单独通过 padding-top,padding-right,padding-bottom,padding-left 来分别制定不同方向的边框.

css 中 position 定位的那4个属性 relative absolute fixed static

找准自己的位置很重要.页面也是一样.设计师出手的psd是这样的结果施工后的效果是这样的:这样的结果相信PO喝完酒也不会验收成功吧.页面在设计时的层次,羽化,字体,大小,边距,背景等.这些都不是随便堆砌起来的.所以切页面的时候要完全按照设计师的psd 效果来实施,才不会让最后的产品和设计相差甚远.其中,比较难的是层的定位.所以今天大概说一下 position 属性相关的一点点知识分享.position 属性包含如下几个值:relative 相对的 (这个属性值有参照物)absolute 绝对的 (这个绝对其实也是有一个参照物的)fixed 固定的(就像钉子钉在那里一样)static 静止的 (这

gulp 传参数 实现定制化执行任务

如果你想自动化构建一些东东,请使用 gulp ,还不明白什么是 gulp ,那么请用 google 百度一下 "什么是gulp"如果你不知道如何翻墙使用 google ,那么请离自动化构建远一点(最好披星戴月地赶快逃离IT圈)因为之前专门有一篇介绍了gulp ,是什么,能帮我们做什么,如何去做,请点击此博文查看:angular 系列三 gulp 代码构建工具简介所以上面博文提到的东西这里都不会再重复说明.今天和大家分享的是 如何使用 gulp 传输参数.我今天碰到一个应用场景:老项目A还在线上维护,新项目B已经着手在开发.这2套项目后端调用是一致的,唯独不同的地方是前端UI

[转]几个css 相关的黑科技

我就要当一次标题党了。这里的黑科技其实就是一些CSS中不怎么为人所知但在解决某些问题的时候很溜的属性。border-radius很多开发者估计都没有正确认识这个border-radius,因为基本上很多人都是这么用的:.box{border-radius:4px;}稍微高端一点的是这样的:.box{border-radius:4px6px6px4px;}然而,终极黑科技是这样用的:.box{border-radius:5px5px3px2px/5px5px1px3px;}对,它可以赋8个值,没见过?不着急,具体的解释是这样的:斜线前面的影响的是水平方向,斜线后面影响的是垂直方向,各个数字就分别

css3 background 新添属性让你的背景图不再拉伸而是随窗口变化而变化

传统的页面制作中,当你遇到css2 的时候,如何来显示一张背景图呢?拉伸 (无节操的拉伸,容器长宽完全超出背景图的长宽)重复展示(用无数张同样的图片来铺满容器的背景面积)x轴 /y轴 重复展示(纵向拉伸不重复 / 横向拉伸不重复 )background-repeat 这个货看下它的值:repeat 默认。背景图像将在垂直方向和水平方向重复。repeat-x 背景图像将在水平方向重复。repeat-y 背景图像将在垂直方向重复。no-repeat 背景图像将仅显示一次(无节操拉伸)。inherit 规定应该从父元素继承 background-repeat 属性的设置。很明显,上面的 css2 满

ios 设备 默认Safari 浏览器载入系统默认样式

在开发移动设备Html5页面时,有没有遇到过,你设置的样式,在ios 设备里面面目全非了.尤其是和安卓设备对比后,会让你有种不相信css 的感觉.其实在 ios设备中使用 Safari 浏览器时.你页面里面的 input ,button ,submit ,reset 等元素都会被载入系统默认的css 来控制.那么问题来了,如果默认禁止浏览器载入这些默认样式呢?在你的css 样式中引入如下:input[type="submit"], input[type="reset"], input[type="button"], button{ -

javascript 实现html5 页面下拉刷新

使用html5 开发一个手机端页面如何能像app一样实现下拉刷新,或者上推刷新.我们试图用html5+css+javascript 来实现一下,没有用到任何第三方插件或者开源js包.先看下效果:这是微信内置浏览器打开后的效果,再看下从顶部按住下拉刷新的效果首先有一个目标div这个 div 用来监听 touchstart ,touchmove ,touchend 三个事件.这3个 事件分别表示 手指触摸屏幕开始, 手指在屏幕移动 , 手指触摸结束那么这个 目标div 一旦被监听后,你的手指放在此div内,就会触发上面的事件. 2. 当触发某个事件时,我们希望看到上面一个下拉的拉伸效果,并且提示

移动H5前端性能优化指南-[转]

移动H5前端性能优化指南概述1. PC优化手段在Mobile侧同样适用2. 在Mobile侧我们提出三秒种渲染完成首屏指标3. 基于第二点,首屏加载3秒完成或使用Loading4. 基于联通3G网络平均338KB/s(2.71Mb/s),所以首屏资源不应超过1014KB5. Mobile侧因手机配置原因,除加载外渲染速度也是优化重点6. 基于第五点,要合理处理代码减少渲染损耗7. 基于第二、第五点,所有影响首屏加载和渲染的代码应在处理逻辑中后置8. 加载完成后用户交互使用时也需注意性能优化指南[加载优化]加载过程是最为耗时的过程,可能会占到总耗时的80%时间,因此是优化的重点· 减少HTTP请

node.js 和 nginx 配合实现 gzip 压缩,让网站浏览更顺畅

node.js 开发的站点,如果你也是用了nginx实现反向代理.那么在服务端可以轻松实现 gzip 压缩,让站点浏览更顺畅.前提条件: node.js + nginx 反向代理node.js 需要做的工作:express 4.0以下版本:app.use(express.compress());//主要是这句 app.use(express.json()); app.use(express.urlencoded()); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(express.cookie

关于一介布衣博客适配pc端,移动端浏览器的一些细节分享

目前还处于人口红利期的移动互联网发展的大红大紫,不断侵蚀传统pc份额,所以做一个全终端自动适配的站点已经成了主流.我的博客也是因为之前对于移动浏览器兼容太差,有些朋友提意见说UI体验也不太好,百度m站的UI亮瞎双眼......所以决定换换UI,因为页面结构大变,已经做好了被搜索引擎惩罚的准备.但是移动端考虑到网络环境,抛开wifi不谈,4G普及率不高,3G应该目前移动端网名主流实用的网络制式,2.5G和2G的用户就悲剧了,站点再优化貌似对这部分人来说加载几十K,几百K甚至上几M都是 wait , wait , wait ,loading....所以3G用户在浏览加载过程中,能节省几百K,加载速

博客准备换套UI

过了一个清明节也没有闲下来,今天新的敏捷开发周期已经迭代开始了,今天晚上想换下博客的UI,明天开始更新博客,赶紧干活去了,祝各位好心情.UI 线下已经搞定,还在细化局部.2015.4.9 中午12点更新!此套UI将自动适应大部分设备,当然我没有全部测试,手机上体验还是不错的.到目前为止,一共换过4套UI每次换UI其实是有一定风险的,对于seo来说,最好一直用一套UI ,所以这段时间我要留意一下所有引擎收录数量及索引量.如果有一天搜索引擎里搜不到我的博客,也许就是被"拔毛了"但是按理说我只是html结构变化,一直都是勤勤恳恳的写内容,应该不会被搜索引擎拔毛.不过影响肯定是有的

angular 系列九 ui-router适配模板,模板指定controller控制器

前几篇博文简单说了下angular的视图,模型,控制器,ui-router等,但是一直没有串起来.查找目录所以今天这篇就是在以前的基础上,把客户端angular.js 负责的部分整体串起来演示一下.我们按照angular执行顺序来做前提准备:(1)Client 根目录下 index.html 首先加载angular.js 和 ui-router.js 文件<scriptsrc="http://cdn.bootcss.com/angular.js/1.3.8/angular.min.js"></script> <scriptsrc=".

angular 系列六 Module类的介绍及模块化依赖

上一篇博客我们已经简单的在index.html 实现了一个控制器代码.后面的学习我们会遵循一个控制器管理一个视图,一个路由对应一个视图的单一原则,所以再不会将controller控制器代码直接写到 index.html 中.我们会应用到angular.js中强大的模块来开发,比如路由,服务,过滤器,指令等模块.所以这一篇博客很有必要把各个模块之间的依赖关系,定义,使用等问题陈述一下.那么angular.js 到底是如何加载启动起来的呢.<!DOCTYPEhtml> <htmlng-app="YIJIEBUYI"> <head> <s

angular 系列四 初识angular.js hello world!

上一篇我们搭建了一个前端 angular.js 后端 node.js服务器的单页面应用,虽然目前服务端只有一个启动文件,但是后面的系列涉及到服务器端交互的时候会逐渐补充.我们整个系列的学习会去写一个简单blog雏形,如果有精力再完善美化.但是这篇还是要从HelloWorld开始学习.angular.js 文件加载我们选用 bootstrap中文网提供的一个cdn服务.http://www.bootcdn.cn/我们找到 1.3.8的angular.js cdn地址,引用到页面 index.html中http://cdn.bootcss.com/angular.js/1.3.8/angular.

angular 系列三 gulp 代码构建工具简介

为什么要把 gulp 的学习文章安装到这里,因为我们上一篇说到了创建一个angular.js项目框架,其中用 gulp 来构建代码.什么是 gulp ,我之前的博客介绍过 yoman项目构建工具 ,gulp 也是类似这样的工具,而且感觉比 yoman和 grunt等工具使用更加简单方便.我们在项目中使用 gulp 做什么?我们会用 gulp 定制几个任务,其中一个就是把controller中的控制器代码抽取出来,然后生成一个新的 app.js .这样的好处是不言而喻的,比如一个团队每个人负责几个控制器,如果我们不用项目管理工具来自动合并引用到文件的话,我们只能手动每个人去修改 index.ht

jquery选择器之基础训练第一篇

jquery是前端开发者最喜欢的javascript开发框架之一,就像他的宣传语一样,写更少的代码,做更多的事情,现在拥有一大波开发者粉丝,甚至微软将它作为官方库,这一切说明jquery在开发者心中确实有很高的地位.jquery有一个强大的构造函数jQuery() 也就是我们常常简写的 $ ,这个构造函数强大之处在于,它能识别复杂的选择表达式进而找到你想要的元素.所以使用jquery的前提是会使用他的选择表达式,下面几种类似css选择器$(document)//选择整个文档对象 $('#documentID')//选择ID为myId的网页元素 $('a[name=me

sublime text 2 不可多得的插件 - 一介布衣

Sublime Text以其轻巧,漂亮和强大的功能被广大程序员所喜爱,完善的插件,代码缩略图,多窗口切换等,真是不可多得的一款跨平台编辑器.Sublime Text 2是一款共享软件,免费和收费的差别仅仅是偶尔会跳出一个购买弹出框.插件安装要使用Package Control组:在线安装方法按Ctrl+`调出console粘贴以下代码到底部命令行并回车:importurllib2,os;pf='PackageControl.sublime-package';ipp=sublime.installed_packages_path();os.makedirs(ipp)ifnotos

Angular 基础学习教程

我们现在开始准备编写AngularJS应用——phonecat。这一步骤(步骤0),您将会熟悉重要的源代码文件,学习启动包含AngularJS种子项目的开发环境,并在浏览器端运行应用。进入angular-phonecat目录,运行如下命令:gitcheckout-fstep-0该命令将重置phonecat项目的工作目录,建议您在每一学习步骤运行此命令,将命令中的数字改成您学习步骤对应的数字,该命令将清除您在工作目录内做的任何更改。运行以下命令:nodescripts/web-server.js来启动服务器,启动后命令行终端将会提示Http Server running at http://lo

回到顶部