系统中的电感线圈元件, 虽然不消耗电能, 可是会 占用系统的容量(至关于占用资源可是不作事), 会使系统 的发电量的使用效率下降, 线路损耗增大, 发出一样有功用电量所需的设备容量扩大php
将感性元件和容性元件串接在一块儿的好处是: 感性负载电流 的相位 落后 系统电压(这个是做为参考电压使用的) 90度(理解: "电场先被线圈铁芯吸取, 转变为磁能 而后才有电流, 因此
电感电流的相位更落后"), 而容性负载电流的相位比 系统电压 提早 90 度, 因此 二者若是串联的话, 恰好抵消, 这样整个系统对外 就显示为 阻性. 既不是感性, 也不是容性的.从而使系统
的 有功效率更大.css
电感线圈的磁场能 存储在哪里?html
二极管 和三极管的后缀?
后缀都是 -ode [2ud], di-ode [dai 2ud], triode tri-ode [trai 2ud] ,
三极管: 泛指 三个电极的管子? 包括 普通三极管晶体管, 晶闸管? T: transistor?
VT : v能够是 V型 v-type, 或真空管: vacuum ['v2kjum] , 因此 三极管和晶闸管都是用 VT来表示的
VD: v-type diode 是指 v型二极管, 常指 续流二极管.前端
VT晶闸管, 可控硅, 其实跟 二极管相似, 也是单向导通, 可是跟普通二极管不一样的是, 他的导通不是 "自然的", 而是有条件的: 须要在 控制极G 给以触发电流, 导通后, 即便触发电流消失,
vt也持续导通工做. 因此 晶闸管被叫作 触发开关- 带触发点的 二极管开关.
所以, vt也能够用来作半波整流或 全波 整流.html5
全波整流, 也叫桥式整流, 是指 四个 diode/或 vt晶闸管, 在每个桥 的 两个元件之间 取一个抽头出来.造成回路.java
vd是 续流二极管, 主要是 用在(并联在) 大功率感性负载 电路中, 是给 电感元件的 反向 感应电动势 提供一个 释放电流,消耗电流的回路, 防止 大功率电感的反向感应电动势 (可达1000v)击穿损坏 电路中的 (超过三极管等元件的反向击穿电压)三极管等元件.jquery
感应电动势的方向?
感应电动势的特性是: 老是 企图 维持 原来的电流(方向不变), 所以, 感应电动势 必然跟 外加的 电路电压的方向是相反的, 因此叫 反向 感应电动势.
而 vd 续流二极管是工做在 "正向导通"的 状态下的, 因此, vd老是 跟 原来的 (系统电压方向 )电路 反向 并联的.linux
常说的 "双导航"就是 所谓的 "双排导航", 导航分为两排, 实际上对于一些大型网站, 导航更多,可能被分红 三排/四排 等之多.
可是对于一些 小型的 简单网站, 是不须要 双导航的.css3
不要轻视模仿, 关键是 要 吸取消化 并有所提升. 创新是创建在模仿的上的...
做为 页面设计者, 必需要懂得 首页/主页设计 的 一些 准则...c++
所谓的扁平结构, 是相对于 纵深结构/树形结构而言的, 扁平的话, 它的目录层次比较少,比较浅, 文件基本上都放在根目录下, 对于网页的扁平结构来讲,就是指 大多数内容都直接放在/呈如今首页上... 而没有过多的一级目录/二级目录和页面等.
网站主页的设计 能够参考: https://www.wenku1.com/news/446427D0AB63F06C.html
网站主页设计所要 解决的12个任务
网站服务包括 网站的内容 + 网站的功能.
内容是指直接呈现出来 的, (我能在这里找到什么),
功能是 指 业务逻辑的 处理, 须要业务模块的支持(我能作什么?)
网站要给出网站内容和功能的概貌, 服务是怎样组织的, 这项工做一般是由导航(栏) 来实现的.
网站目录和连接的 设计, 一切要从用户的角度 出发. 好比
大型网站的架构优化?
使用squid机制. 当 client 请求对数据库的操做太多, 会引发数据库 链接竞争激烈, 数据操做过多引发响应变慢, 可是又不能把数据库链接数开得太多, 不然会引发数据库的操做压力. 因此 须要 把对数据库的操做结果 缓存起来, 之后再遇到一样的数据操做请求, 就能够直接发给客户端, 再也不作数据库链接和操做.
squid是一种缓存代理服务器 = 代理proxyer +缓存cache, 把client 对 服务器的请求 拦截下来, 让squid服务器 去向目标服务器请求, (这其中就有数据库链接和操做等), squid服务器得到数据后, 一方面将结果发送给 客户端, 另外一方面 会将结果 cache缓存起来...下一次接收到一样的客户端请求时, 就把保持在 "内存"中的 数据发出去. squid支持 http, ftp, gopher和 ssl 协议等.
最后就是 再增长一台 webserver应用服务器 作流量分流, 和负载均衡等
transform: 变换
css3中的transform主要有四个值: translate平移, rotate旋转, scale缩放,skew扭曲.
主要有两种单位, 一个是px, 一个是度数 degree: deg
通常有两个方向上的数值,若是只有一个, 则第二个数值默认跟 第一个数值相同.
http://www.cnblogs.com/liuminghai/p/4293254.html
有时候, 左边能够是一些 小条的 窄条的 功能快捷方式, 也能够没有.
一般, 网站的header区域是 贯穿的, 是整个屏幕宽度的100%. 而主体部门的宽度 则不会贯穿, 两端 应该 有适当的留白.
而main主体部分的背景颜色, 应该/最好是有一点 很浅的灰色, 好比 #eee, 而实际元素的背景用白色, 这样主体内容展现框和 右端的分块区 的 边框线和 区域分割 划分就很明显. 好比 github的配色就是这样的
网页版面布局主要是指网站的主页的版面布局, 其余页面的版面跟主页的版面布局是同样的
https://blog.csdn.net/westonduo/article/details/48006413#!/_zfv8jiwf1sb57b9
下载地址 https://github.com/tuopula/jquery_chained
select id="s1"... select id="s2" 那么两个选择框连接起来的js就是: $('#s2').chained('#s1') <==> $('#s2').chainedTo('#s1')
要想使两个选择框 连接, 则要经过class, 要使第二个选择框的option 加上class属性, 并且class 要等于 上一级select中option选项的value值.
这个js插件 就是根据value和扫描下一级select中的option 的class属性, 来决定下一级 哪些选项要显示出来.
下一级option的类class 有几种状况:
一是只在某一个上级option的选项中出现, 那么这时候 class就只有一个值
二是, 下一级的option 对应 多个父select选项, 即下一级的某个option 能够在多个 上一级select/option选项选中的时候, 出现, 那么下一级的option的class 就包含多个对应的类: 好比<option class="s1_v1 s1_v2" value="s2_v1">s2的第一个选项</option>
三是, 第三级的选项, 必须同时对应指定的 第一级和第二级指定的选项值, 那么此时第三级的 option的class 要写成<option class="s1_v1\s2_v1" value="s3_v1"> 第三级的某个选项</option>
若是是使用 ajax 远程访问, 则要使用 remoteChained方法: $('#s2'). remoteChained('#s1', '/remote/ajax_return.php');
若是是远程ajax返回 则只须要把第一级的select中的option选项书写 完整, 下一级的select, 就不写opton了, 由于这些option将会被ajax返回内容所填充.
<div class="foo"> foo</div>
<div class="foo"> foo</div>
网页的版面布局有多种, 好比: 厂字型, 回字型,同字型,三字型, 框架型等, 根据你的须要选择合适的版面.
若是一个元素同时有 aria-label和 aria-labelledby的属性, 那么读屏软件会优先读出 aria-labelledby的内容.
这些属性都是为读屏软件这些辅助功能提供的...
bs的 .show和.hide类, 可以实现相似jquery显示和隐藏的动画, 可是它并无用js, 而是直接用的 css的 display: block !important 或none来实现的.
???bs中的.text-only类 将页面元素所包含的文本内容 替换为 背景图? 事实上, 是没有 text-onlya这个类的?
关于css的伪类和伪元素?
伪类必须有content属性 哪怕这个属性是空的 '', 或只有一个 空格' '. content属性的值包括: none, normal, 实际的字符串"...." 还能够是一些特殊值, 好比 attr(title, href)等. 内容能够直接拼接, 不用任何运算符号的
好比: h1:before{content: url('some/icon.jpg');}
常常看到 网页中 , 统一的, 在全部的h1标题前 都插入一个 小图标.
在ff中的调试面板中, 鼠标箭头符号只是用来pick 元素的, 此时box model的computed 并不会显示当前被选择的对象的 尺寸, 只有当你 单击了这个元素后 , 被inspector后, 才会显示 元素的 computed尺寸.
bs的 container类样式 只是 : left/right-padding:15px; 上下padding=0; | 上下margin=0; 左右margin: auto
因此 container类自己是没有 边框的!
background-image: url('...');
背景图片的固定? background-attachment: scroll, fixed....
若是要使用 元素样式的 集中写法, 必须写这个元素的 "集中属性", 而不能使用它的 分属性, 好比: background: url('...') 0px 5px scroll no-repeat, 可是不能写成: background-image: url('...') repeat-x
也就是说 集中属性的写法 和 分属性的写法不能混合着写:
背景图片属性的说明顺序是: cipar: color-image-position-attach-repeat.
伪类/伪元素:before 和 :after 的以前和以后是什么?
直觉是:before 伪元素是 插入的内容 会被注入到目标元素的 前面或后面. 可是实际上不是这样的: 伪类注入的内容将是 有关联的那个目标元素的子元素, 可是它会被置于这个元素的任何 子内容的"前"或"后"
div自己没有语义上的含义, 要尽可能使用具备 语义的标签和类, 好比header, footer,nav, article等标签
bs中的article标签标识一篇文章, 一个帖子, 一般包含 header, (h2 p) +内容. article也能够放在页面的尾部
section是article中 用来分隔另外一个区块的内容
hgroup: 当有多个具备 层级关系 的标题(好比一级标题h1, 二级标题h2, 三级标题h3 或者一个主标题一个子标题)的 时候, 就应该使用hgroup
来包含.
hgroup的css样式很简单, 他就是一个 display: block的块
彻底用h5 来写页面, 要有完整的结构, 随时随 处 都能说出标签明确的语义
h5的代码在 ie9如下都是没有效果的, 调试h5 仍是要在ff和 chrome下比较好.
!important原本是css的标准语法, 表示优先执行, 可是ie6不能认,因此就用两条语句来解决兼容性的问题,好比
.foo{padding-left: 30px !important; padding-left: 20px; }
那么就能实现 在ie6下左边距 20px, 而ff下左边距30px
以 .table- 开头的类, 都是用在table标签上的, 非-table开头的只能应用在tr 或td上
table中 若是使用 thead 或者 tbody 来从语义上分隔,那么在 表头和表体之间会出现一条 比较粗的 实线来分割.
凡是 以 -responsive 结尾的类都是 响应式的.
html自己也是一个标签元素, 你能够在ff中看到它的box model
@media mediatype [and|not|only] (media feature) { 具体的标签/类/id的样式{ ...} }
而不少时候, 可使用简写的媒体查询, 省略 metiatype 和逻辑词, 直接就是 : @media (media feature) { ....}
/* 手机等小屏幕手持设备, 下面有两个and */ @media screen and (min-width: 320px) and (max-width: 480px) { 仍是 (min-height: 480px)???? body { background: yellow; } }
因此 @media screen and (min-width: 1200px) { .container{ width: 1170px;} }
简写成 : @media (min-width: 1200px) { .container { width: 1170px; } }
就标识 浏览器最小宽度是1200px的时候, 即: 浏览器宽度大于1200px的时候, 使用 里面的样式.
注意两个问题: 可能有一种错觉: 觉得媒体查询中的宽度, 指的就是你显示器的宽度, 因此觉得宽屏的显示器的.container的宽度老是固定的那么多1170px. 实际上这是错误的, 这里的"屏幕宽度" 指的是 : 浏览器的"屏幕"宽度! 因此, 即便是在 宽屏的显示屏中, 当你不断调整\缩小浏览器的宽度时, 你能够看到 container的宽度是 在不断改变的.
有三个媒体屏幕宽度的等级, .container的宽度略小于 宽度等级:min-width: 768px 对应的是 750px; min-width: 992px 对应的是 970px; min-width: 1200px 对应的是 1170px;
min-width的媒体特征后面是冒号, 不是等号.
实际上ff浏览器 在调试宽屏的显示效果的同时, 还支持 手机等 窄屏的设备的 responsive design mode. 能够直接在ff中 看到并调试手机上的显示效果,就不须要安装什么手机模拟器了.
bs中要表示代码, 使用 code pre标签, 其中的尖括号要用实体 转义
代码要实现滚动, 使用 pre.pre-scrollable 类
shell中命令的优先级 : 别名 > 函数 > 命令
类lead, text-center text-muted等都是用在段落 p标签上的
文本是否自动换行 text-justfied text-nowrap
h5中的缩写标签是 <abbr>
其样式是在文本底部的一条虚线边框, 当鼠标悬停在上面时, 会显示完整的文本(文本就是abbr的 title属性的内容).
为了得到一个更小字体的文本, 须要添加 .initialism类到abbr
address标签显示 联系地址, 内部用br换行,
blockquote引用的格式 是在旁边画一条竖线,
.pull-right 类 是显示在右边
cite标签, 在html4和h5 中是不一样的语义, h5中表示的是 做品的题目, 好比书名
列表的类型有 ol, ul, dl. dl是自定义列表项, 它跟ol, ul不一样的是, 不仅是包含列表项, 并且还包含列表项的说明内容. 使用 .dl-horizontal类
能够获得水平的列表项.
应该养成严谨的习惯, html中全部的内容 都应该放在 标签中
之前的h4标准中, 自闭合标签br hr input的尾部都要加斜杠, 说是为了严谨. 可是 如今变了, 在h5中, 推荐在 自闭合标签br hr input的尾部都不
加结尾的斜杠了! 由于h5会认为是错误的标签,而后就会在父元素的结尾处去寻找结束标签, 但这样显然是不合理的.
url结尾是否要加斜杠?
那个位置找不到这个文件的时候), 会作一个301的重定向, 自动在访问地址后面加上斜杠做为目录访问, 这时候就是第二次请求了, 这样的话, 在某
些语言中编程就会出错. 好比 在 request.getParameter代码就会获取不到请求参数, 由于request.getParameter
的生命期只有一次, 只有在第一
次请求中有效, 在重定向后的第二次请求中就无效了.
在版本修改过程当中的version和revision的区别?
在同一个栅格系统的列div中, 能够同时指定多个不一样宽度的列宽类, 好比: div.container > div.row > div.col-sm-6 .col-md-4.col-lg-3
bs的列是有顺序的, 默认的是按书写的前后次序排列的, 若是要调整 列的左右前后顺序, 可使用 类.col-md-push-?? (向右推移动) 或 .col-md-
pull-?? (向左拉移动)
小于 768px 的时候,用 col-xs-12 类对应的样式; 在 768px 到 992px 之间的时候,用 col-sm-9 类对应的样式; 在 992px 到 1200px 之间的时候,用 col-md-6 类对应的样式; 大于 1200px 的时候,用 col-lg-3 类对应的样式
glyph 的英文意思: '象形文字, 象形符号', 而glyphr 就是 linux下 设计字体的软件, 因此 glyphicons就是象形图标了.
由less 到 css的过程也叫 编译, 至关于 c++ java等源文件 obj文件 到 exe文件的编译过程.
关于bs中的图片 类?
整个的图片标签 是垂直方向上居中的 img { vertical-align: middle; }
而响应式图片 .img-responsive 和 轮播器中的图片 都是: display: block; max-width: 100%; height: auto; /* 这样的css就是 宽度和高度 自动适应 */}
对于 响应式图片, 要实现水平居中, 必须 在 img标签的自己 上, 再添加 center-block 类. 不能在 img的父元素, 好比p或div上加类.
<style type="text/css"> .show-grid [class ^="col-"] { padding-top: 10px; padding-bottom: 10px; background-color: #eee; border: 1px solid #ddd; background-color: rgba(86, 61, 124, .15); border: 1px solid rgba(86, 61, 124, .2); } </style>
: 就是使得 img图片的宽高 可以自动缩放, 自动适应父容器的缩放比例的, 由于它的css样式就是 .img-responsive{ max-width: 100%; heigth: auto; }
: 可是还得要求, img的父容器 是自动适应的, 要求父容器的宽度是百分比的 好比 div{width: 50%} > img.img-responsive
另外, col-SCREEN_TYPE-???后面的数字怎样写?
<meta http-equiv="refresh" content="0; url=/newpage.html" // content里面的0表示刷新跳转时间间隔, 0标识立刻/当即/直接跳转...
, 其余脚本语言重定向, 好比 php语言重定向(基本上就是 .htaccess地址重写的那个步骤)分辨率越大, 是说的数值 越大, 在相同的屏幕尺寸, 分辨率越大, 则像素点越多, 更清晰. 一个像素点是指能单独显示颜色的最小单位
1个css像素 不必定等于 1个屏幕 物理像素, css像素是一个 相对值: 跟屏幕像素密度 正相关, 跟用户缩放正相关(当用户屏幕页面放大一倍, 则一个css像素 表明的物理像素 将增长1倍)
bs须要在h5中才能使用, bs3的设计intent是移动设备优先, 因此要声明 viewport的meta: <meta name="viewport" conent="width=device-width, initial-scale=1.0 [maximum-scale=... , minimum-scale=..., user-scalable=no 用户是否能够缩放]">
注意, viewport的内容值之间用 逗号而不是用分号分隔.
css中的 @charset utf8;
中间不能用冒号或等号, 最后还必须用分号; 不然这条声明无效, 至关于没有声明同样, 并且在编辑器中还会高亮错误. 仍是会按 英文字符集来显示.
<ele class="c1 c2">
的类表示同时具备两个样式, 能够有两种生效方式: 一种是分别定义两个类.c1{...} .c2{...}
, 效果是它们的综合相加; 另外一种是同时定义两个 类样式 中间没有空格 .c1.c2{...}
这二者方式中, 若是有样式重复的, 后者样式会覆盖前面的那种定义的样式. 可是 .c1 .c2{...}
中间有空格的形式是不能对这个元素生效的
修改bs 的默认样式, 若是要全局修改, 能够直接修改, 覆盖, 好比 .container样式, 可是若是只是覆盖某一个的话, 能够在这个类前面加上一个任意的 类样式好比.foo; 而后用复合类的方式来定义覆盖. 好比: .foo.container{...}
select的默认选项值是提示, 是占位符, 因此它的value值就等于空 <select><option value="">请选择</option>
写html的时候, 若是是你本身写css的话, 就是 先要写好布局和 站位的内容, 而后再写css和js.
可是, 若是是用前端框架, 那么在写内容的时候, 就想好用什么组件和框架布局了, 一块儿写的
完整的表格结构是: table=thead(tr>th) + tbody(tr>td) 要注意, thead和tbody还有语义上的 含义和区别, 在thead和tbody之间 会有一条加粗的分隔线. 不然若是没有thead, 那么表头和表体之间 就不会有明显的区别和分隔线.
在tp中, 实例化对象 传入初始化参数的时候, 可使用二者方式, 一种是 传统的构造函数参数(初始化函数参数, 即c/c++ 传统语言的方式), 另外一种是 使用 "动态参数", 这个是php的特殊方式, 并且要定义 魔术方法 __set(...) 要习惯于第一种方式, 由于第一种方式的效率好像要更高一点.
tp中的多级控制器就是在 controller目录下又多了一个子目录, 用来分组存放控制器而已. 默认的是把全部的具体控制器子类 所有都放在 controller目录下, 分级后则按目录存放.
要使用多级控制器,首先要设置 'CONTROLLER_LEVEL' => 2
而后在子目录下建立控制器文件 Controller\User\UserTypeController.class.php , 而后, 相应的,控制器类的命名空间定义就是 namespace Home\Controller\User;
其实, 开发中,通常可以用默认的设置就尽可能用默认的设置, 谁也不会故意搞得那么复制, 把本身入坑本身整本身. 因此像多级控制器基本没有什么用.
action和operation的区别
operation强调普通的操做步骤, action是更普遍的含义, military action. mvc中固定的用法是 action.
'URL_PARAMS_BIND' => true,
类型有二者,一种是按名称绑定,默认的, 那么要求名称必定要相同的对应, 顺序不要求; 另外一种是 按顺序绑定, 设置是: 'URL_PARAMS_BIND_TYPE' => 1 (0是按名称绑定)
'.$id.'
<a href="http://localhost/Home/Index/boot/id/{$id}">click here to jump </a>
js跳转的几种方式
location.href=.... self.location=..// top.location=.... history.back(); histroy.forward().
可是没有 window.navigate(...), 和 history.go(-1)等的写法无效.
默认状况下, url地址中的模块不能省略, 若是要简化某个模块的url访问地址, 能够经过设置模块列表和默认模块等.
// 容许访问的模块列表
'MODULE_ALLOW_LIST' => array('Home', 'Admin', 'User'),
'DEFAULT_MODULE' => 'Home',
// 还能够配置禁止访问的模块
默认的Application下的Common模块和Runtime模块是禁止访问的
'MODULE_DENY_LIST' => array('Common', 'Runtime', 'User'),
// 模块映射是为了包含"后台"模块, 禁止用户直接访问某个模块
'URL_MODULE_MAP' => array('test' => 'admin'),
设置了模块映射后, 原来的admin模块将不能访问, 只能访问test模块
目录 分为应用/项目的 公共目录和模块目录. 凡是属于模块好比Home模块的东西, 就应该放在模块的对应子目录下, 好比Home模块下 的 Lib目录, Behavior目录, TagLib目录等. 在公共目录下也能够有这些子目录, 只是这些子目录是服务于 全部的 模块的.
杂项??
tp的 "行为Behavior", 可让你无需改动框架和应用, 而在外围经过扩展 或者 配置来改变或增长一些功能.
在实际项目开发中, 不是为了验证/实验时, 通常不会故意把项目搞得很复杂, 不会本身整本身, 都会使用 "通用的/常见的/成熟的"方案和技术, 而不会采用激进的技术. 因此不少熟练的人都几乎是 背着写/凭记忆直接就写出 成套的代码了.
类库通常有 公共类库和应用类库, 公共类库主要是放在 框架的 Library\Think\类库中的.
应用类库(即类文件, 好比 CertainApp.class.php文件)通常 都不直接放在根目录下 \html 下, 而是要放在 根下的 相关分类目录中
除非特别须要, tp项目的配置都应该保持默认.
html中像 <br> <br />
等叫作 void elements "无内容标签, 空标签".
在html5中, void tag的 最后的那个 斜杠/ 叫作 "关闭斜杠" 这个关闭斜杠是 "可选"的. 事实上, h5认为最后的这个 关闭斜杠是一个 "错误", 由于标签原本就没有什么内容, 你还要什么关闭斜杠呢? 只是这个 关闭斜杠 是一个 "能够容忍"的错误. 所以, h5提倡 不要写最后 的那个斜杠. 直接写成 <br> <hr> <img src=".." alt="..."> 就行了
所以, 像<p>...</p> <div>...</div>
这些 有 开始 ~ 结束标签, 有 </tag>
的都叫 闭合标签closed tag. 而全部的 空元素/无内容标签 都是 非闭合的.
在Tp框架\Library\Template\TagLib\Html.class.php中,
// 标签订义: attr 属性列表 close 是否闭合(0 或者1, 默认1 即默认是非闭合的) alias 标签别名 level 嵌套层次