Html CSS學習(五)position定位 原
Html CSS學習(五)position定位
position用來對元素進行定位,其值有以下幾種:
static:無特殊定位,物件遵循正常文件流,top,right,bottom,left等屬性不會被應用。
relative:物件遵循正常文件流,但將依據top,right,bottom,left等屬性在正常文件流中偏移位置。
absolute:物件脫離正常文件流,使用top,right,bottom,left等屬性進行絕對定位。而其層疊通過z-index屬性定義。
fixe:物件脫離正常文件流,使用top,right,botton,left等屬性以視窗為參考點進行定位,當出現滾動條時,物件不會隨著滾動。
一、static定位
頁面程式碼如下:
<div class="father">
<div class="children">
子容器1
</div>
<div class="children">
子容器2
</div>
</div>
CSS程式碼如下:
<style>
.father{
width: 200px;
height: 300px;
border: 1px solid red;
}
.children{
margin: 10px;
width: 150px;
height: 100px;
border: 1px solid blue;
}
</style>
頁面效果如下:
從上面頁面的結果可以看出,Html文件流預設的定位即是static,元素按照其預設的規則進行定位。
二、relative定位
下面,首先修改第一個子容器,將其position更改為relative,並設定其top,left屬性。
CSS樣式設定如下:
.father div:first-child{
position: relative;
top: 30px;
left: 30px;
}
頁面效果如下:
從上圖可以看出,relative,仍然遵循正常的文件流,所以它的位置依然保留,但是它會依照top,left,bottom,right等屬性,相對於其原來的位置進行偏移。
三、absolute定位
如果將子容器1的定位更改為absolute,則頁面效果如下:
從中可以看出,它不再遵循正常的文件流,其原始位置被佔據。它是絕對定位,它以瀏覽器的左上角為參照點進行定位。而relative是相對定位,它是相對於其自身的原始位置進行定位,也就是說,它以沒有使用relative定位時的位置左上角為參照點進行定位。
四、fixed
物件將脫離正常的文件流,它能瀏覽器視窗左上角為參考點進行定位,並且如果頁面出現滾動條時,它並不會隨滾動條的移動而滾動,它始終以瀏覽器視窗左上角為參考點進行定位,與其父容器無關。常用於製作固定導航條等內容。
!--
方式一:巢狀結果:使用巢狀結果對映來處理重複的聯合結果的子集
封裝聯表查詢的資料(去除重複的資料)
select * from user u,orders o where u.id=o.user_id and u.id=#{id}
-->
<select id="selectUserAndOrdersByUserId" www.gcyL157.com resultMap="getUserAndOrders">
select u.*,o.id oid,o.number number from user u,orders o where u.id=o.user_id and u.id=#{id}
</select>
<resultMap type="com.ys.po.User" id="getUserAndOrders">
<!--id:指定查詢列表唯一標識,如果有多個唯一標識,則配置多個id
column:資料庫對應的列
property:實體類對應的屬性名 -->
<id column="id" property="id"/>
<result column="username" property=www.fengshen157.com/"username"/>
<result column="sex" property="sex"/>
<!--
property:實體類中定義的屬性名
ofType:指定對映到集合中的全類名
-->
<collection property=www.gxgjpt1.com "orders" ofType=www.gcyl152.com"com.ys.po.Orders">
<id column="oid" property=www.boyunylpt1.com"id"/>
<result column="number" property="number"/>
</collection>
</resultMap>