CSS樣式 定位

2022-06-28 03:42:12 字數 2789 閱讀 9412

定位方式+偏移:

static:所有不設定定位的元素,定位方式都是static(預設)

1.不脫離標準流

2.偏移不起作用:top right bottom left

3.消除定位(實戰中的應用)

relative:相對定位

1.不脫離標準流

2.偏移起作用:top right bottom left, 起始點從元素本來應該所在的位置的左上點

3.不破壞標準流,把元素移動到需要的地方

4.relative+偏移 vs static+margin的區別?

a. relative只是移動了元素,但是標準流不受影響;

b.margin雖然也滿足移動元素,但是會影響標準流

5.relative作為absolute的基準

6.如果同時設定了left和right,只有left有效;如果同時設定了top和bottom,只有top有效(和定義在先或者在後沒有關係)。

/*用position: relative;的效果*/

/*用margin的效果*/

/*同時設定left和right的效果:left: 100px; right: 50px;*/

absolute: 絕對定位

1.脫離標準流,跟著滾動條一起滾動

2.偏移起作用:top right bottom left

a. 沒有任何一層的祖先節點有定位(如relative,absolute,fixed),以瀏覽器的可視區為起始點

*****==執行後的效果,備註:紅色的塊之所以有空白,那是body對應的margin*****====

如果設定body的話,可以比較容易的看出是脫離了body的:

b.父元素有定位(relative,absolute,fixed),以父元素的內角(border和padding的分界線)為起始點;margin對子元素定位有影響,padding, border對子元素定位沒有影響

*****====執行的結果**********

**********==如果給父元素加margin的話***************

.father 

**********==如果給父元素加padding的話***************

.father 

效果和上圖一樣,也就是說padding未生效

c.如果有乙個或者多個祖先元素有定位(relative,absolute,fixed),以最近的祖先元素的內角(border和padding的分界線)為起始點

/*第一種:.father和.grand-father都設定position: relative;則以.father為起始點*/

/*第二種:.father設定position: relative, .grand-father不設定position: relative;仍然以.father為起始點*/

執行效果和上圖一樣

/*第三種:.father不設定position: relative, .grand-father設定position: relative;則以.grand-father

為起始點*/

3.設定了position: absolute, 沒有設定left,top:

a. 如果沒有設定left和top,所有對元素能產生作用的因素全都起作用(就好像沒有設定absolute一樣的效果):注意,與top: 0; left: 0; 不等價,不設定left和top的情況,left和top被初始化為「應該在「(按標準流去算下位置,但是卻脫離標準流)的位置。

********************====效果*************************==

b.如果left被設定,top沒有:left按照設定,top按照「應該在」的位置

**********執行效果*****====

c.如果top被設定,left沒有:top按照設定,left按照「應該在」的位置

效果和b相似

4.relative作為absolute的基準(父r子a)

abcde

將.father設定成position: absolute;的效果:

將.father設定成position: relative;的效果(不會影響下面的div的布局):

CSS樣式(四) CSS定位

css定位 positioning 屬性 允許定義元素框相對於其正常位置應該改出現的位置,或者相對于父元素 另乙個元素甚至瀏覽器視窗本身的位置。一切皆為框 1 塊級元素 div h1或p標籤 即 顯示為一塊內容稱之為 塊框 2 行內元素 span,strong,a等元素 即 內容顯示在行中稱 行內框...

CSS樣式的定位

當元素沒有position定位屬性時,所有元素按照他們自己的定位標準進行定位,比如說 每乙個div標籤就佔一行。但是當元素我有了position屬性,那麼div原先占有一行的屬性就被覆蓋掉了 可以說沒有用了 例 控制代碼1控制代碼2 containr 控制代碼控制代碼cont 結果 現在來看看abs...

前端攻城獅 css樣式之定位

為什麼要學習定位呢?因為很重要。ps 這不是廢話嘛 這樣子把,假如說我們需要在乙個盒子裡居中顯示乙個小盒子,那麼就是需要定位來坐,定位用的頻率還是非常高的。css定位分為三種 絕對定位 相對定位 固定定位。各位看官不要急,聽我一一道來。相對定位 position relative 相對定位相對誰?相...