1.知乎頁面的頭部是浮動布局,一旦涉及到float就需要 清除浮動.
(清除浮動:清除“浮動元素脫離了文檔流,包圍圖片和文本的div不占據空間”的問題)
css里用的是clearfix類:
.clearfix:before, .clearfix:after { .clearfix:after {
display: table; clear:both;
content: ""; }
}
原理是在需要清除浮動的后面添加一個不占位置的標簽,通過clear:both,使得添加的標簽
上方不存在浮動元素(即在:after添加的標簽上方制造空間,拉大父標簽height)
(詳細原理見 : http://www.indievox.com/e2ghost/post/50238)
我犯了一個錯誤, .clearfix :before的冒號前面多打了一個空格,選擇器的意義完全不一
樣了,從具有clearfix類的標簽 變成了 具有clearfix類的標簽的所有子標簽,導致顯示錯誤。
2.發現一個講css布局的小網站,http://zh.learnlayout.com/
3.通過base64編碼把小的圖片直接以16進制的形式寫在html里,可以減少io次數 : png
通過設置style標簽的display:block樣式可以讓頁面的style標簽顯示出來,并且加上contentEditable屬性后可以讓樣式成為可編輯狀態,更改后的樣式效果也是實時更新呈現的。
<style style="display:block" contentEditable>
body { color: blue }
</style>
4. null, undefined
http://www.ruanyifeng.com/blog/2014/03/undefined-vs-null.html
目前,null和undefined基本是同義的,只有一些細微的差別。
null表示"沒有對象",即該處不應該有值。典型用法是:
(1) 作為函數的參數,表示該函數的參數不是對象。
(2) 作為對象原型鏈的終點。
Object.getPrototypeOf(Object.prototype) // null
undefined表示"缺少值",就是此處應該有一個值,但是還沒有定義。典型用法是:
(1)變量被聲明了,但沒有賦值時,就等于undefined。
(2) 調用函數時,應該提供的參數沒有提供,該參數等于undefined。
(3)對象沒有賦值的屬性,該屬性的值為undefined。
(4)函數沒有返回值時,默認返回undefined。
var i; i // undefined function f(x){console.log(x)} f() // undefined var o = new Object(); o.p // undefined var x = f(); x // undefined
5.待續
文章列表