tp剩餘未驗證內容-6

雜項

系統中的電感線圈元件, 雖然不消耗電能, 可是會 佔用系統的容量(至關於佔用資源可是不作事), 會使系統 的發電量的使用效率下降, 線路損耗增大, 發出一樣有功用電量所需的設備容量擴大php

將感性元件和容性元件串接在一塊兒的好處是: 感性負載電流 的相位 落後 系統電壓(這個是做爲參考電壓使用的) 90度(理解: "電場先被線圈鐵芯吸取, 轉變爲磁能 而後纔有電流, 因此
電感電流的相位更落後"), 而容性負載電流的相位比 系統電壓 提早 90 度, 因此 二者若是串聯的話, 恰好抵消, 這樣整個系統對外 就顯示爲 阻性. 既不是感性, 也不是容性的.從而使系統
的 有功效率更大.css

電感線圈的磁場能 存儲在哪裏?html

  • 有的說存儲在 磁芯中, 磁芯裏面能夠看作包含不少的 磁疇(mag'netic domain) 一個磁疇能夠當作是一個 微型的 小磁鐵, 因爲它們的N極和S極排列是隨機的, 不規範, 因此相互抵消, 在外加電場(恆流源)的做用下, 在電場-磁場的磁化下, 磁疇排列規範一致, 因此向外顯示出明顯的 N極和S極磁性來
  • 但也有的說, 磁場能存儲在 氣隙中?

二極管 和三極管的後綴?
後綴都是 -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

爲了保護 續流二極管自己, 有事 也須要在vd中 串聯一個 限流電阻(電阻的做用 就是用來 分壓 限流的 )


常說的 "雙導航"就是 所謂的 "雙排導航", 導航分爲兩排, 實際上對於一些大型網站, 導航更多,可能被分紅 三排/四排 等之多.
可是對於一些 小型的 簡單網站, 是不須要 雙導航的.css3

不要輕視模仿, 關鍵是 要 吸取消化 並有所提升. 創新是創建在模仿的上的...
做爲 頁面設計者, 必需要懂得 首頁/主頁設計 的 一些 準則...c++

所謂的扁平結構, 是相對於 縱深結構/樹形結構而言的, 扁平的話, 它的目錄層次比較少,比較淺, 文件基本上都放在根目錄下, 對於網頁的扁平結構來講,就是指 大多數內容都直接放在/呈如今首頁上... 而沒有過多的一級目錄/二級目錄和頁面等.

網站主頁的設計 能夠參考: https://www.wenku1.com/news/446427D0AB63F06C.html 網站主頁設計所要 解決的12個任務
網站服務包括 網站的內容 + 網站的功能.
內容是指直接呈現出來 的, (我能在這裏找到什麼),
功能是 指 業務邏輯的 處理, 須要業務模塊的支持(我能作什麼?)
網站要給出網站內容和功能的概貌, 服務是怎樣組織的, 這項工做一般是由導航(欄) 來實現的.

總之, 網站正式開始寫以前, 你得先要設計好 網站的 目錄結構和 導航(連接)結構. 這些結構的設計, 總的出發點就是 "這樣作, 是否對用戶瀏覽有利, 是否對用戶體驗有利, 而不僅是考慮 是否對本身有利 對本身(賺錢)有利?"

網站目錄和連接的 設計, 一切要從用戶的角度 出發. 好比

  • 凡是用戶不會點擊的 目錄和連接都 "是沒用的"??, 都應該刪除和更改.
  • 目錄設計和連接層級 都不該該 超過3層. 連接 "儘量" 扁平化, 是爲了 方便 搜索引擎 收錄 網站的內容 (蜘蛛更喜歡扁平化網站)
  • 對一些企業網站 我的介紹性的 等小網站, 目錄不宜過細, 應該給 "網站"瘦身, 過細反而不容易找到 用戶須要的信息.
  • 小網站 不建議左側導航和下拉框
  • 要始終 從用戶的角度考慮, 能讓用戶減小點擊次數, 直接呈現的內容, 就不要設計得太深, 只有這樣才能讓目錄結構/和 首頁結構 設計得更合理.才利於seo優化和網站排名.

大型網站的架構優化?

  • 由於數據庫和 web應用, 放在同一臺服務器上的話,它們會相互影響, 致使響應變慢. 因此, 首先要從物理上分離數據庫和應用, 部署在兩臺機器上, 雖然技術上沒有什麼改變, 可是確實會起到效果.
  • 使用squid機制. 當 client 請求對數據庫的操做太多, 會引發數據庫 鏈接競爭激烈, 數據操做過多引發響應變慢, 可是又不能把數據庫鏈接數開得太多, 不然會引發數據庫的操做壓力. 因此 須要 把對數據庫的操做結果 緩存起來, 之後再遇到一樣的數據操做請求, 就能夠直接發給客戶端, 再也不作數據庫鏈接和操做.

    squid是一種緩存代理服務器 = 代理proxyer +緩存cache, 把client 對 服務器的請求 攔截下來, 讓squid服務器 去向目標服務器請求, (這其中就有數據庫鏈接和操做等), squid服務器得到數據後, 一方面將結果發送給 客戶端, 另外一方面 會將結果 cache緩存起來...下一次接收到一樣的客戶端請求時, 就把保持在 "內存"中的 數據發出去. squid支持 http, ftp, gopher和 ssl 協議等.

  • 除了使用squid動態緩存外, 還可使用 esi/ESI (也是一種緩存服務器) 靜態緩存
  • 最後就是 再增長一臺 webserver應用服務器 作流量分流, 和負載均衡等

整個目錄結構, 包括:首頁 > 一級頁面 > 二級頁面(注意首頁(只有一個頁面) 不是 一級頁面). 連接結構有 "星狀 和 樹狀 "連接結構.一般 首頁和一級頁面之間用 星狀連接結構, 而一級頁面和二級頁面之間用 樹狀 連接

關於images目錄, 不該該將全部的圖片 都放在 根目錄"/"下, 或 所有都Public目錄下, 應該按 模塊Home\Admin, 或主欄目 分別進行存儲. 分別建立image目錄, 這樣便於維護和管理?


transform: 變換
css3中的transform主要有四個值: translate平移, rotate旋轉, scale縮放,skew扭曲.
主要有兩種單位, 一個是px, 一個是度數 degree: deg
通常有兩個方向上的數值,若是隻有一個, 則第二個數值默認跟 第一個數值相同.

樣式須要分別對chrome firefox等瀏覽器單獨定義嗎?

  • 若是你的項目 指定使用 "現代瀏覽器" + "w3c標準瀏覽器" 則不須要單獨定義
  • 若是是 css2的樣式 , 很成熟很經常使用的屬性了, 就不須要單獨定義, 主要是針對 css3 比較新的樣式 , 則須要單獨定義 好比: -webkit-box-shadow, -webkit-box-sizing 等
  • 若是你的項目 須要兼容低版本的 瀏覽器 則須要單獨 分別 定義
  • 若是要單獨定義, 則 要加上 以 橫線開頭的前綴 -webkit, -ms -moz, -o等

關於css3的box-sizing樣式? 參考: http://www.cnblogs.com/liuminghai/p/4293254.html

  • content-box | padding-box | border-box | inherit 意思是 如何計算div 的 box寬度 方法. 隻影響寬度, 不影響高度
  • box-sizing是指 樣式屬性的 width 包含哪些部分. 這樣不一樣的 box-sizing box計算方法所獲得的區塊將不同, 這個將影響 (若是block的 padding , border-width 等屬性改變時, 是否影響 區塊的 總體寬度, 是否會對周圍的元素 產生影響? 是否影響裏面的內容 的寬度...)
  • 瀏覽器默認的 一個塊block所佔的寬度是: width屬性值 + padding的值 + border的寬度值 + margin寬度值, 可是 使用 box-sizing後, 元素的寬度 就會發生變化了, 這個box-sizing樣式是用來規定 div/block 元素的 width屬性值將包含哪些範圍.
  • content-box 是指 width屬性值 只包含 內容的寬度, 這個跟 瀏覽器默認的計算方法是同樣的. 是默認的 值
  • padding-box是 指 元素的 width屬性值 將應用到 padding 內邊距 所包含的區域, 即 width屬性值 將包含 內容區域的寬度 和 左右padding的寬度, 這樣原來默認的內容區域的寬度 將 會被 減小.
  • border-box是 指 元素的 width屬性值 將應用到 邊框線所包含的區域, 即 width屬性值 將包含 內容區域的寬度 加上 左右padding的寬度 再加上 border的寬度值 , 這樣原來默認的內容區域的寬度 將 會被 更大程度的 減小. 好比 原來width=100px的元素, 若是padding=10px border-width=5px, 加上 box-sizing: border-box樣式後, 其內容區域 的寬度將是: 100px - 10px2 - 5px2 = 70px

一般, 網站首頁的組成: 頂端是 header(主要包括logo和網站導航 和重要功能) 而後是 主體 main(一般main 分紅 兩欄結構), 左邊是主要內容右邊則是一些 小塊的 分塊區, 這些分塊區則是 網站內容的 導讀, 或 快捷功能區等. 好比 ??dn的頁面佈局就是這樣.

有時候, 左邊能夠是一些 小條的 窄條的 功能快捷方式, 也能夠沒有.

一般, 網站的header區域是 貫穿的, 是整個屏幕寬度的100%. 而主體部門的寬度 則不會貫穿, 兩端 應該 有適當的留白.
而main主體部分的背景顏色, 應該/最好是有一點 很淺的灰色, 好比 #eee, 而實際元素的背景用白色, 這樣主體內容展現框和 右端的分塊區 的 邊框線和 區域分割 劃分就很明顯. 好比 github的配色就是這樣的

網頁設計要講究 編排和佈局. 要事先畫出 頁面的編排. 能夠用手工在紙上畫出, 也能夠用軟件畫出.

網頁版面佈局主要是指網站的主頁的版面佈局, 其餘頁面的版面跟主頁的版面佈局是同樣的

多級級聯下拉選擇框插件? 參考 https://blog.csdn.net/westonduo/article/details/48006413#!/_zfv8jiwf1sb57b9 下載地址 https://github.com/tuopula/jquery_chained

  • 網址 github是單數, 最後的地址是下劃線 jquery_chained , 雖然引用的文件是分開寫的: jquery.chained.js 和 jquery.chained.remote.min.js (這兩個版本, 前面的 jquery.chained. 是相同的, 只是後面的不一樣...remote.js)
  • 使用在github上的 tuupola的插件, 有兩個版本, 本地的不須要ajax的版本是 jquery.chained.js, 若是是ajax遠程獲取數據的用jquery.chained.remote.js
  • js中 使用兩個 選擇框的id來 "連接" 而不是選項, 好比 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返回內容所填充.

script標籤的屬性?

  • id屬性? 事實上, 任何html標籤都有id屬性, 甚至 像 link/css標籤, js標籤等都有 id屬性值(作動態引用link/css或 js)經過id來定位文件?
  • script的全部屬性 包括 [type, src, charset]]等 都是可選的 即你徹底能夠不寫任何 屬性值! 並且像charset等都是 "廢棄" "一般被瀏覽器所忽略"的屬性.

markdown的代碼段中, 能夠 根據不一樣的 語言,好比c/java/.net/php/c++等 有 不一樣顏色的關鍵字高亮, 使用的是 "syntaxHighlighter.js"插件, 因此能夠在 引導符 後面加上 語言名稱.下面是兩端 加語言名稱和不加語言名稱 對高亮解析的不一樣(第一個是加html語言名稱的)

<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的僞類和僞元素?

  1. 僞類是用在css中, :before之類的表示的, 而 僞元素是在 html中, 用 ::befor來表示的 而爲了兼容都用 一個冒號表示
  2. css的僞類 是 像幽靈同樣的存在,可是其效果 對用戶來講, 是真的 存在的, 並且能夠在 元素的 開頭 插入內容和圖標等, 並且插入的內容在頁面的html源碼中是不可見的, 只能是在 css裏可見
  3. 僞類必須有content屬性 哪怕這個屬性是空的 '', 或只有一個 空格' '. content屬性的值包括: none, normal, 實際的字符串"...." 還能夠是一些特殊值, 好比 attr(title, href)等. 內容能夠直接拼接, 不用任何運算符號的

  4. 好比: 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類自己是沒有 邊框的!

在css樣式中, 要引用/表示圖片, 須要用 url('圖片地址')的方式, 不能直接寫 '圖片地址'的方式. 好比: background-image: url('...');

  • 並且, 樣式表中的樣式, 並非添加到 使用樣式的html文件中, 而是 仍然放在 css文件中的.
  • 所以, 樣式表中的 圖片相對地址 (即url圖片地址) 要相對於 當前這個css文件的路徑(這個相對關係是固定的), 而不是 相對於要使用的 html文件的路徑, 由於使用css樣式 的html文件能夠是任意的不一樣位置處的文件.

關於元素的背景圖片background-image樣式?

  • 背景圖片的重複/平鋪, background-repeate: 有四個值: repeat, no-repeat, repeat-x, repeat-y.
  • 背景圖片的位置: background-position: 關鍵是要知道 這個位置是指(兩個點的偏移offset): 背景圖片的左上角 相對於當前元素的box模型的左上角的 偏移offset位置, 幾種指定方法: 一是使用關鍵字: left/center/right, top/center/bottom, 二是使用 具體數字 如10px 20px等 並且 關鍵字和 數字的表示方法能夠混用.
  • 背景圖片的固定? 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的塊

  • One's whole mind is concentrated on one thing only.
  • I take only what i want, I don't care about anything else.

徹底用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 結尾的類都是 響應式的.

做爲一個統一的樣式和 主題來講,

  • 比較經典的邊框的灰色是 #ddd
  • .table-hover類 和 當項目被激活時的 .active類的背景顏色是 #f5f5f5的淺灰色.

html自己也是一個標籤元素, 你能夠在ff中看到它的box model

bs的container 是如何肯定寬度的?

  • 雖然在 .container的樣式中, 只是規定了left-right/padding-margin, 並無規定寬度, 可是 div.container的容器並無佔據100%的屏幕寬度,而是隻佔了中間的一部分寬度(好比1600px的寬屏實際上只佔據了 居中的170px)
  • 是由於 .container被定義了 媒體查詢, 實現了響應式佈局

響應式佈局? 又叫媒體查詢

  • 能夠根據 媒體類型 來定義不一樣的樣式, 即對於 不一樣的屏幕寬度(不是顯示器的寬度), 應用不一樣的樣式
  • 完整的格式是: @media mediatype [and|not|only] (media feature) { 具體的標籤/類/id的樣式{ ...} } 而不少時候, 可使用簡寫的媒體查詢, 省略 metiatype 和邏輯詞, 直接就是 : @media (media feature) { ....}
  • mediatype是媒體類型, 不少都已經廢棄了, 主要的有all, print,screen, speech. and|not|only是 邏輯關係, 表示媒體類型和媒體特徵同時知足條件等, media feature標識媒體特徵或 媒體功能,包括不少, 好比 width, height, min/max-width, min/max-height等等. 能夠有多個媒體特徵(條件), 用and 來鏈接: 好比:
/* 手機等小屏幕手持設備, 下面有兩個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類

能夠獲得水平的列表項.

關於script的位置, 一般來講, 是放在head中的, 可是, 推薦仍是 放在body的最後, 不少大站都是這些寫的

應該養成嚴謹的習慣, html中全部的內容 都應該放在 標籤中

之前的h4標準中, 自閉合標籤br hr input的尾部都要加斜槓, 說是爲了嚴謹. 可是 如今變了, 在h5中, 推薦在 自閉合標籤br hr input的尾部都不

加結尾的斜槓了! 由於h5會認爲是錯誤的標籤,而後就會在父元素的結尾處去尋找結束標籤, 但這樣顯然是不合理的.

url結尾是否要加斜槓?

  • 首先要搞清楚, 加斜槓的目的是什麼? 斜槓是標識的是目錄!
  • 所以, 若是你是訪問的一個文件, 就不能加結尾的斜槓
  • 反之, 若是是訪問的一個目錄, 就最好是加上. 由於若是不加斜槓, 瀏覽器默認的把當前請求 會看成一個普通的文件去訪問, 當覺察到不對(即在

那個位置找不到這個文件的時候), 會作一個301的重定向, 自動在訪問地址後面加上斜槓做爲目錄訪問, 這時候就是第二次請求了, 這樣的話, 在某

些語言中編程就會出錯. 好比 在 request.getParameter代碼就會獲取不到請求參數, 由於request.getParameter的生命期只有一次, 只有在第一

次請求中有效, 在重定向後的第二次請求中就無效了.

在版本修改過程當中的version和revision的區別?

  • version是軟件在開發過程當中比較成熟的一個版本;
  • revision [ri'vi32n], 修訂版, 一般是在軟件的開發過程當中的一些修訂, 在同一個version版本中, 能夠有多個修訂版revision.

在同一個柵格系統的列div中, 能夠同時指定多個不一樣寬度的列寬類, 好比: div.container > div.row > div.col-sm-6 .col-md-4.col-lg-3

bs的列是有順序的, 默認的是按書寫的前後次序排列的, 若是要調整 列的左右前後順序, 可使用 類.col-md-push-?? (向右推移動) 或 .col-md-

pull-?? (向左拉移動)

有col-xs, sm, md, lg四個等級的屏幕尺寸, 這些尺寸不是任意的, 在你寫 col-md-??的時候, 就基本上固定了

小於 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上加類.

bs柵格類型的邊框線?

  • 柵格系統, 默認的是沒有邊框線的, 要設置邊框線, 必須但對添加另外的類樣式, 好比下面的 .show-grid
  • css 的選擇器和 jquery中的用法 徹底一致, 一樣支持 屬性選擇符, 和 ^= 等運算符的.
<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>

bs的類樣式 .img-responsive的意思到底是什麼意思?

: 就是使得 img圖片的寬高 可以自動縮放, 自動適應父容器的縮放比例的, 由於它的css樣式就是 .img-responsive{ max-width: 100%; heigth: auto; }
: 可是還得要求, img的父容器 是自動適應的, 要求父容器的寬度是百分比的 好比 div{width: 50%} > img.img-responsive

另外, col-SCREEN_TYPE-???後面的數字怎樣寫?

  • 首先要明確, 屏幕越寬, col 最後的數字應越小 好比同一個 圖片對象的 對應 列寬類樣式: col-xs-12 col-sm-6 col-md-3 col-lg-1
  • 是由於, 假設針對 一樣寬度的一個 對象, 屏幕越寬, 一個列的"單位寬度"越大, 放置這樣的對象 所需的列的數量就越少; 因此 col-md-3的寬度 可能就只須要1個 lg的寬度了: col-lg-1

什麼是301 重定向?

  • 是請求返還的header 信息狀態之一, 404 是沒有, 500+ 表示的是 服務器(內部)錯誤, 即內部程序錯誤
  • 301是 永久性重定向 302 是臨時性重定向
  • 301重定向 會 傳遞大多數的權重, 完成權重的傳遞通常須要1到幾個月
  • 301重定向 主要用在幾個場合: 網站內容/目錄結構改版; 網站域名改變; 企業申請的多個域名 要指向同一個 主域名時(不然會認爲內容重複而被 搜索引擎處罰)
  • 301重定向的實現方式有: html重定向 <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{...}

對於網站的資源, 能夠用相對路徑,也能夠用絕對路徑. 若是用絕對資源, 根路徑就是 "/" 網站的根路徑就是指網站的 根目錄, 即wamp的www, 或apache的根目錄html.

select的默認選項值是提示, 是佔位符, 因此它的value值就等於空 <select><option value="">請選擇</option>

寫html的時候, 若是是你本身寫css的話, 就是 先要寫好佈局和 站位的內容, 而後再寫css和js.
可是, 若是是用前端框架, 那麼在寫內容的時候, 就想好用什麼組件和框架佈局了, 一塊兒寫的

完整的表格結構是: table=thead(tr>th) + tbody(tr>td) 要注意, thead和tbody還有語義上的 含義和區別, 在thead和tbody之間 會有一條加粗的分隔線. 不然若是沒有thead, 那麼表頭和表體之間 就不會有明顯的區別和分隔線.

在vim中 冒號命令的 範圍起止,不是用冒號, 而是用的 逗號, 好比: 10,20d 另外, 在一些normal命令中, 要善於使用 數詞, 好比: dw, cw, d3w c2w等.

在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.

在tp中, 要定義操做方法,你能夠定義不帶參數的操做方法(大多數是這樣的), 也能夠定義帶 參數的操做方法, 可是操做方法的參數來源, 傳參是一個大問題, 由於你在url訪問中, 不可能在url的action中用括號來傳參的方式.

  • action中的參數 能夠來源於從 前臺表單中 傳遞過來的 $_POST $_GET, I()方法等;
  • 若是沒有前臺表單傳遞參數, action方法中又定義了參數, 那麼這個參數也能夠從 另外一個頁面中的 a錨點連接- url地址中傳參 來得到. 這個就叫作action參數綁定, 即: action中的參數和url中的參數 名稱相對應 而得到.
  • 默認的就是action參數綁定開啓的, 定義 'URL_PARAMS_BIND' => true, 類型有二者,一種是按名稱綁定,默認的, 那麼要求名稱必定要相同的對應, 順序不要求; 另外一種是 按順序綁定, 設置是: 'URL_PARAMS_BIND_TYPE' => 1 (0是按名稱綁定)
  • 應該/始終給操做方法參數設置 默認值, 是防止出錯的好方法. 不然, 若是沒有在url中設置對應綁定的參數/參數值, 就會報錯 "參數錯誤..."

關於字符串拼接?

  • 在php文件中,一種很簡單的字符串和變量的拼接方法, 只要在原來的 單引號/雙引號的中間, 加上一對單引號和變量就行了, 即: '.$id.'
  • 在js中字符串拼接, 使用 加號+
  • 而在html中, 要拼接字符串就更容易了, 由於根本就不須要 拼接 , 直接將內容挨着寫就是了, 好比: <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模塊

若是發生在本地測試正常, 可是一旦部署到服務器環境後就只能訪問首頁 的狀況, 頗有多是 你的服務器或者空間不支持 PATH_INFO這種url模式所致.

 經過url重寫隱藏應用的入口文件index.php的配置內容

  • 首先要確認在apache的配置文件httpd.conf文件中, 加載(開啓) mod_rewrite.so模塊
  • 修改apache配置文件中的 AllowOverride None 爲All
  • 最後將.htaccess文件放到 和 應用入口文件index.php相同的目錄下. 具體內容已有.

關於tp中的目錄?

目錄 分爲應用/項目的 公共目錄和模塊目錄. 凡是屬於模塊好比Home模塊的東西, 就應該放在模塊的對應子目錄下, 好比Home模塊下 的 Lib目錄, Behavior目錄, TagLib目錄等. 在公共目錄下也能夠有這些子目錄, 只是這些子目錄是服務於 全部的 模塊的.

雜項??

  1. tp的 "行爲Behavior", 可讓你無需改動框架和應用, 而在外圍經過擴展 或者 配置來改變或增長一些功能.

  2. 在實際項目開發中, 不是爲了驗證/實驗時, 通常不會故意把項目搞得很複雜, 不會本身整本身, 都會使用 "通用的/常見的/成熟的"方案和技術, 而不會採用激進的技術. 因此不少熟練的人都幾乎是 揹着寫/憑記憶直接就寫出 成套的代碼了.
    類庫通常有 公共類庫和應用類庫, 公共類庫主要是放在 框架的 Library\Think\類庫中的.
    應用類庫(即類文件, 好比 CertainApp.class.php文件)通常 都不直接放在根目錄下 \html 下, 而是要放在 根下的 相關分類目錄中
    除非特別須要, tp項目的配置都應該保持默認.

  3. 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 嵌套層次

相關文章
相關標籤/搜索