微信小程序____CSS篇之定位(position)及浮動(dòng)(float)

引言


CSS定位浮動(dòng)提供了一些屬性统诺,利用這些屬性,可以建立列式布局,將布局的一部分與另一部分重疊版述,還可以完成多年來通常需要使用多個(gè)表格才能完成的任務(wù)。

定位的基本思想很簡單寞冯,它允許你定義元素框相對(duì)于其正常位置應(yīng)該出現(xiàn)的位置渴析,或者相對(duì)于父元素、另一個(gè)元素甚至瀏覽器窗口本身的位置吮龄。

浮動(dòng)不完全是定位俭茧,不過,它當(dāng)然也不是正常流布局漓帚。

position詳解


一母债、定位

position屬性允許你對(duì)元素進(jìn)行定位。

二尝抖、定位機(jī)制

有三種:普通流毡们,浮動(dòng)絕對(duì)定位

三昧辽、定位屬性值

static衙熔,relativeabsolute搅荞,fixed红氯,-ms-page框咙,initialunset(后面3個(gè)屬性是小程序中有的)

  1. static:元素框正常生成脖隶,塊級(jí)元素生成一個(gè)矩形框扁耐,作為文檔流的一部分,行內(nèi)元素則會(huì)創(chuàng)建一個(gè)或者多個(gè)行框产阱,置于其父元素中婉称。

  2. relative:元素框偏移某個(gè)距離。元素扔保持其未定位前的形狀构蹬,它原來所占的空間扔保留王暗。

相對(duì)定位是一個(gè)非常容易掌握的概念。如果對(duì)一個(gè)元素進(jìn)行相對(duì)定位庄敛,它將出現(xiàn)在它所在的位置上俗壹。然后,可以通過設(shè)置垂直或水平位置藻烤,讓這個(gè)元素“相對(duì)于”它的起點(diǎn)進(jìn)行移動(dòng)绷雏。

如果將 top 設(shè)置為 20px,那么框?qū)⒃谠恢庙敳肯旅?20 像素的地方怖亭。如果 left設(shè)置為30像素涎显,那么會(huì)在元素左邊創(chuàng)建 30 像素的空間,也就是將元素向右移動(dòng)兴猩。

  1. absolute:元素框從文檔流中刪除期吓,并相對(duì)于其包含塊定位,包含塊可能是文檔中的另一個(gè)元素或者初始包含塊倾芝。元素原先在正常文檔流中所占的空間會(huì)關(guān)閉讨勤,就好像元素原來不存在一樣。元素定位后生成一個(gè)塊級(jí)框晨另,而不論原來它在正常流中生成何種類型的框潭千。

普通流中其它元素的布局就像絕對(duì)定位的元素不存在一樣:

#box_relative {
  position: absolute;
  left: 30px;
  top: 20px;
}

絕對(duì)定位的元素的位置相對(duì)于最近的已定位祖先元素,如果元素沒有已定位的祖先元素借尿,那么它的位置相對(duì)于最初的包含塊脊岳。

  1. fixed:元素框的表現(xiàn)類似于將position 設(shè)置為absolute,不過其包含塊是視窗本身垛玻。

  2. -ms-page:位置取決于absolute的模式。

  3. initial:將指定的值表示為屬性的初始值奶躯。

  4. unset:設(shè)置了“inherit”和“initial”,根據(jù)屬性是否被繼承嘹黔。

提示:相對(duì)定位relative實(shí)際上被看作普通流定位模型的一部分账嚎,因?yàn)樵氐奈恢孟鄬?duì)于它在普通流中的位置莫瞬。

重要:absolutefixed的明顯區(qū)別在于:absolute屬性設(shè)置的值是相對(duì)于其文檔絕對(duì)位置,而fixed屬性設(shè)置的值是相對(duì)于屏幕視窗絕對(duì)位置郭蕉。

四疼邀、top,right召锈,bottom旁振,left

定位元素,定義position不為static的元素涨岁。

取值:auto直接數(shù)值百分比

五拐袜、z-index

定義position不為static的元素。設(shè)置元素在當(dāng)前上下文中的層疊級(jí)別梢薪。數(shù)值越大顯示在上面蹬铺,數(shù)值越小,則顯示在下面秉撇。

六甜攀、clip

剪裁絕對(duì)元素定位。

定義一個(gè)剪裁矩形琐馆,內(nèi)容多出來的東西將根據(jù)overflow的值來處理规阀。

注意點(diǎn):必須將position設(shè)置為absolute或者fixed的時(shí)候此屬性才會(huì)生效

1.取值:shapeautoinherit

shape:設(shè)置元素的形狀啡捶。唯一合法的形狀值是:rect (top, right, bottom, left)

2.clip這個(gè)屬性即將廢棄姥敛,推薦使用 clip-path

示例:

index.wxml

<view>Relative:</view>
<view>我是正常位置的標(biāo)題</view>
<view class='left'>我是偏移-20rpx的標(biāo)題</view>
<view class='right'>我是偏移-20rpx的標(biāo)題</view>

<view>absolute:通過絕對(duì)定位可以放置在頁面上任何位置,下面的是距離頂部300rpx,距左邊50rpx</view>
<view class='absolute'>這是有絕對(duì)定位的標(biāo)題</view>
<view class='fixed'>fixed:固定位置</view>
<view class='clip'>我被裁剪了</view>

index.wxss

.left {
  position: relative;
  left: -20rpx;
}

.right {
  position: relative;
  left: 20rpx;
  padding-bottom: 20rpx;
}

.absolute {
  position: absolute;
  top: 600rpx;
  left: 50rpx;
}

.fixed {
  position: fixed;
  right: 10rpx;
  top: 10rpx;
}

.clip{
  position: absolute;
  clip: rect(0px,50px,200px,0px);
  top: 450rpx;
  width: 400rpx;
  height: 400rpx;
}

效果:

修改下絕對(duì)定位的樣式:

.absolute {
  position: absolute;
  top: 400rpx;
  left: 50rpx;
}

看效果:

這就是absolute的定位效果瞎暑。

float詳解


浮動(dòng)的框可以向左向右移動(dòng)彤敛,直到它的外邊緣碰到包含框或另一個(gè)浮動(dòng)框的邊框?yàn)橹埂?/p>

由于浮動(dòng)框不在文檔的普通流中,所以文檔的普通流中的塊框表現(xiàn)得就像浮動(dòng)框不存在一樣了赌。

CSS 浮動(dòng)

wxml:

<view class='container1'>
<image class= 'image1' src='../../images/home.png'></image>
<image class= 'image2' src='../../images/category.png'></image>
<image class= 'image3' src='../../images/cart.png'></image>
</view>

wxss:

.image1 {
  display: block;
  width: 80rpx;
  height: 80rpx;
  float: right;
}

.image2 {
  display: block;
  width: 80rpx;
  height: 80rpx;
}

.image3 {
  display: block;
  width: 80rpx;
  height: 80rpx;
}

請(qǐng)看下圖墨榄,當(dāng)把框 1 向右浮動(dòng)時(shí),它脫離文檔流并且向右移動(dòng)勿她,直到它的右邊緣碰到包含框的右邊緣:

wxss:

.image1 {
  display: block;
  width: 80rpx;
  height: 80rpx;
  float: left;
}

.image2 {
  display: block;
  width: 80rpx;
  height: 80rpx;
  float: left;
}

.image3 {
  display: block;
  width: 80rpx;
  height: 80rpx;
  float: left;
}

如果把所有三個(gè)框都向左移動(dòng)袄秩,那么框 1 向左浮動(dòng)直到碰到包含框,另外兩個(gè)框向左浮動(dòng)直到碰到前一個(gè)浮動(dòng)框逢并。

如下圖所示之剧,如果包含框太窄,無法容納水平排列的三個(gè)浮動(dòng)元素砍聊,那么其它浮動(dòng)塊向下移動(dòng)背稼,直到有足夠的空間。如果浮動(dòng)元素的高度不同玻蝌,那么當(dāng)它們向下移動(dòng)時(shí)可能被其它浮動(dòng)元素“卡住”:

wxss:

.image1 {
  display: block;
  width: 360rpx;
  height: 80rpx;
  float: left;
}

.image2 {
  display: block;
  width: 360rpx;
  height: 80rpx;
  float: left;
}

.image3 {
  display: block;
  width: 360rpx;
  height: 80rpx;
  float: left;
}

卡住的wxss:

.image1 {
  display: block;
  width: 360rpx;
  height: 160rpx;
  float: left;
}

.image2 {
  display: block;
  width: 360rpx;
  height: 80rpx;
  float: left;
}

.image3 {
  display: block;
  width: 360rpx;
  height: 80rpx;
  float: left;
}

CSS float 屬性

把圖像向右浮動(dòng):

img
  {
  float:right;
  }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末蟹肘,一起剝皮案震驚了整個(gè)濱河市词疼,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌帘腹,老刑警劉巖贰盗,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異阳欲,居然都是意外死亡舵盈,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門胸完,熙熙樓的掌柜王于貴愁眉苦臉地迎上來书释,“玉大人,你說我怎么就攤上這事赊窥”澹” “怎么了?”我有些...
    開封第一講書人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵锨能,是天一觀的道長扯再。 經(jīng)常有香客問我,道長址遇,這世上最難降的妖魔是什么熄阻? 我笑而不...
    開封第一講書人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮倔约,結(jié)果婚禮上秃殉,老公的妹妹穿的比我還像新娘。我一直安慰自己浸剩,他們只是感情好钾军,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著绢要,像睡著了一般吏恭。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上重罪,一...
    開封第一講書人閱讀 51,125評(píng)論 1 297
  • 那天樱哼,我揣著相機(jī)與錄音,去河邊找鬼剿配。 笑死搅幅,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的呼胚。 我是一名探鬼主播盏筐,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼砸讳!你這毒婦竟也來了琢融?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤簿寂,失蹤者是張志新(化名)和其女友劉穎漾抬,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體常遂,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡纳令,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了克胳。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片平绩。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖漠另,靈堂內(nèi)的尸體忽然破棺而出捏雌,到底是詐尸還是另有隱情,我是刑警寧澤笆搓,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布性湿,位于F島的核電站,受9級(jí)特大地震影響满败,放射性物質(zhì)發(fā)生泄漏肤频。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一算墨、第九天 我趴在偏房一處隱蔽的房頂上張望宵荒。 院中可真熱鬧,春花似錦净嘀、人聲如沸报咳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽少孝。三九已至,卻和暖如春熬苍,著一層夾襖步出監(jiān)牢的瞬間稍走,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來泰國打工柴底, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留婿脸,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓柄驻,卻偏偏與公主長得像狐树,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子鸿脓,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • 一抑钟、定位 position屬性允許你對(duì)元素進(jìn)行定位涯曲。 二、定位機(jī)制 有三種:普通流在塔,浮動(dòng)幻件,絕對(duì)定位 三、定位屬性值...
    UILabelkell閱讀 1,021評(píng)論 0 1
  • 浮動(dòng) CSS允許浮動(dòng)任何元素蛔溃。 浮動(dòng)元素 首先绰沥,會(huì)以某種方式將浮動(dòng)元素從文檔的正常流中刪除,不過它還是會(huì)影響布局贺待。...
    exialym閱讀 1,216評(píng)論 0 6
  • 1. 文檔流的概念指什么麸塞?有哪種方式可以讓元素脫離文檔流? 元素自上而下排列秃臣,將窗體自上而下分成一行行, 并在每行...
    進(jìn)擊的阿群閱讀 994評(píng)論 0 1
  • 塊級(jí)元素,行內(nèi)元素(內(nèi)聯(lián)元素) div喘垂、h1 或 p 元素常常被稱為塊級(jí)元素甜刻。這意味著這些元素顯示為一塊內(nèi)容,即“...
    艷曉閱讀 2,585評(píng)論 0 0
  • 一正勒,浮動(dòng)元素有什么特征得院?對(duì)父容器、其他浮動(dòng)元素章贞、普通元素祥绞、文字分別有什么影響? 浮動(dòng)模型是一種可視化格式模型,浮動(dòng)...
    DeeJay_Y閱讀 866評(píng)論 0 4