static:靜態(tài)定位是position的默認值坤按,元素框正常生成考传,也就是沒有定位時的正常顯示招拙。
relative:相對定位
用法一:元素相對自身的原位置偏移某個距離,但是原本的空間依舊保留喇勋,表現(xiàn)為空白缨该。
用法二:把一個元素設置為position: relative; 可以使該元素的子元素相對該元素絕對定位。
absolute:絕對定位
元素從文檔流刪除川背,并相對于包含塊定位贰拿。元素在原本的空間關閉。元素定位后生成一個塊級框熄云,不論它原來是行內(nèi)元素還是塊級元素壮不。
包含塊:最近的position值不是static的祖先元素(塊級或行內(nèi)),一般會指定一個元素作為絕對定位元素的包含塊皱碘,將其position設置為relative而且沒有偏移。
fixed:固定定位
元素從文檔流刪除隐孽,并相對于瀏覽器視窗定位癌椿,因此不隨文檔滾動而移動。元素在原本的空間關閉菱阵。元素定位后生成一個塊級框踢俄,不論它原來是行內(nèi)元素還是塊級元素。與絕對定位的區(qū)別僅僅是包含塊不同晴及。
包含塊:瀏覽器視窗都办。
absolute/fixed和float對比
類似:元素都會從文檔流刪除,但是依舊會影響布局;都會生成一個塊級框虑稼,無論原來是不是塊級元素琳钉。
區(qū)別:float的包含塊是最近的塊級祖先元素。
偏移屬性:top/right/bottom/left蛛倦,初始值是auto歌懒。
采用position定位之后必須采用偏移屬性定義偏移量,也就是相對包含塊的偏移溯壶。注意應用于position值不是static的元素及皂。
有時也需要定義width和heigth甫男,但是可能會和偏移屬性的定義沖突,因為四個偏移屬性實際上已經(jīng)定義了元素的大小验烧。此時板驳,根據(jù)width和left屬性定義左右,根據(jù)top和height屬性定義上下碍拆。
內(nèi)容溢出overflow: visible/ hidden/ scroll /auto/ inherit若治,初始值是visible。
一個元素的大小固定倔监,但是其內(nèi)容放不下直砂,就會導致溢出。overflow控制溢出部分的可見(visible)浩习、不可見(hidden)静暂、滾動可見(scroll)。
元素可見性visibility: visible/ hidden/ collapse/ inherit谱秽,初始值是visible洽蛀。
visibility:hidden和display:none的區(qū)別:visibility:hidden設置元素不可見,但是元素依舊會影響布局疟赊,只是元素部分呈現(xiàn)為空白;display:none元素不顯示并且從文檔流中刪除郊供,對文檔布局沒有任何影響。