久久精品国产亚洲高清|精品日韩中文乱码在线|亚洲va中文字幕无码久|伊人久久综合狼伊人久久|亚洲不卡av不卡一区二区|精品久久久久久久蜜臀AV|国产精品19久久久久久不卡|国产男女猛烈视频在线观看麻豆

    1. <style id="76ofp"></style>

      <style id="76ofp"></style>
      <rt id="76ofp"></rt>
      <form id="76ofp"><optgroup id="76ofp"></optgroup></form>
      1. 千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

        手機(jī)站
        千鋒教育

        千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

        千鋒教育

        掃一掃進(jìn)入千鋒手機(jī)站

        領(lǐng)取全套視頻
        千鋒教育

        關(guān)注千鋒學(xué)習(xí)站小程序
        隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

        當(dāng)前位置:首頁  >  技術(shù)干貨  > Css定位

        Css定位

        來源:千鋒教育
        發(fā)布人:qyf
        時(shí)間: 2022-09-30 14:50:00 1664520600

          在css眾多屬性中,定位position屬性,必須有姓名,而且占據(jù)了比較重要的地位,比如:二級(jí),三級(jí)導(dǎo)航效果,鼠標(biāo)懸停的一些動(dòng)態(tài)效果,懸停欄,側(cè)邊導(dǎo)航欄定位效果等等都是需要定位實(shí)現(xiàn)的。

          但是很多小伙伴,剛接觸定位的時(shí)候,理解上會(huì)有一些困惑,使用上容易出bug,那我們今天就來聊一下定位position屬性;

          1、定位的歷史

          W3C(萬維網(wǎng)聯(lián)盟)組織于1998年5月發(fā)布了CSS2版本,CSS2規(guī)范在很大程度上擴(kuò)展了CSS1中的內(nèi)容。它包括數(shù)十種新的屬性(和偽元素),以及現(xiàn)有屬性的很多附加值,其中就包括 定位屬性。

          2、瀏覽器的支持

          所有主流瀏覽器都支持 position 屬性。

          3、position屬性的語法

          position 屬性:規(guī)定元素的定位類型

          屬性值:

          static:默認(rèn)值。沒有定位,元素出現(xiàn)在正常的流中。

          relative:生成相對(duì)定位的元素,相對(duì)于其正常位置進(jìn)行定位。

          fixed: 生成絕對(duì)定位的元素,相對(duì)于瀏覽器窗口進(jìn)行定位。

          absolute: 生成絕對(duì)定位的元素,相對(duì)于 static 定位以外的第一個(gè)父元素進(jìn)行定位。

          sticky (css3中新增的屬性值): 粘性定位,該定位基于用戶滾動(dòng)的位置。

          4、定位需要配合使用的屬性

          left 屬性:規(guī)定元素的左邊緣偏移的大小。

          right 屬性規(guī)定元素的右邊緣偏移的大小。

          top 屬性規(guī)定元素的頂部邊緣偏移的大小。

          bottom 屬性規(guī)定元素的底部邊緣偏移的大小。

          以上屬性用于給元素定位設(shè)置坐標(biāo)點(diǎn)的位置;

          屬性值:

          auto: 默認(rèn)值。通過瀏覽器計(jì)算左邊緣的位置。

          %: 設(shè)置以包含元素的百分比計(jì)的左邊位置。可使用負(fù)值。

          length: 使用 px、cm 等單位設(shè)置元素的左邊位置??墒褂秘?fù)值。

          5、了解編程中的坐標(biāo)

          · 編程中的坐標(biāo),x軸-水平軸右為正,左為負(fù),Y軸-垂直軸下為正,上為負(fù)

        1

          · 每個(gè)元素都自帶一個(gè)坐標(biāo)系,元素左上角的位置為原點(diǎn)(0)位置,如下圖所示

        2

          6、 分別介紹定位屬性每個(gè)屬性值的使用語法

          · position:static 靜態(tài)定位

          position屬性的默認(rèn)值,即沒有定位,遵循正常的文檔流對(duì)象。

          遵循正常的文檔流對(duì)象,可以理解為,元素的位置根據(jù)在html中的書寫順序依次排序顯示,沒有特殊的位置改變

          · position:relative 相對(duì)定位

          生成相對(duì)定位的元素,相對(duì)于其正常位置進(jìn)行定位。

          基本使用講解:

          例如:一個(gè)img元素在沒有設(shè)置定位時(shí),正常顯示在瀏覽器中,自帶坐標(biāo)系,

          如圖顯示;

        3

          給img元素設(shè)置相對(duì)定位,設(shè)置定位的坐標(biāo)為(100px,100px),美女的位置會(huì)從原本原點(diǎn)的位置移動(dòng)到(100px,100px)的位置,會(huì)發(fā)生如下變化:

        4

          代碼實(shí)現(xiàn)如下:

        01

          相對(duì)定位對(duì)元素在文檔流中的影響

          元素仍然保持其未定位前的形狀,它原本在文本流中所占的空間仍保留

          例如:在img標(biāo)簽下面書寫一個(gè)span標(biāo)簽,img在定位之后,原本的位置空間依舊是保留在文本流中的,寫在img下面的span是沒有上去的;

          代碼實(shí)現(xiàn)如下:

        02

          效果如下:

        6

          · position: absolute 絕對(duì)定位

          生成絕對(duì)定位的元素,相對(duì)于static定位以外的第一個(gè)父元素進(jìn)行定位。

          解釋:指絕對(duì)定位元素會(huì)根據(jù)有定位設(shè)置(除static定位)的父元素作為參照進(jìn)行定位;如果父元素沒有定位設(shè)置,那就繼續(xù)向上找祖父元素,看是否有定位設(shè)置,有的話就根據(jù)祖父元素定位,沒有的話,那就繼續(xù)向上找…….如果都沒有,就根據(jù)html進(jìn)行定位。

          包含塊:絕對(duì)定位元素參照的有定位設(shè)置的父元素我們稱為包含塊,包含塊是絕對(duì)定位的基礎(chǔ),包含塊就是為絕對(duì)定位元素提供坐標(biāo)偏移和顯示范圍的參照物;

          設(shè)置某個(gè)元素為包含塊:給此元素添加relative,fixed,absolute都可,推薦使用relative,因?yàn)椴粫?huì)影響元素在文本流中的顯示;

          總結(jié)元素絕對(duì)定位三部曲:

          · 先確定其包含塊

          · 設(shè)置元素絕對(duì)定位

          · 定位的位置

          基本使用講解:

          例如:img元素放在div中,沒有設(shè)置定位效果

          代碼實(shí)現(xiàn)如下:

          HTML:

        0

          CSS:

          div {

          width: 400px;

          height: 400px;

          border: 10px dashed coral;

          margin: 100px;

          }

          顯示效果如下:

        7

          然后給圖片設(shè)置絕對(duì)定位,代碼如下:

          img {

          position: absolute;

          left: 0;

          top: 0;

          }

          分析:img的父元素是div,從上述代碼中,可以看出div沒有定位設(shè)置,不能作為img的包含塊,一依次向上是body,body也沒有定位設(shè)置,再向上就是html,所以img會(huì)根據(jù)html進(jìn)行定位,定位到離包含塊左邊0,上邊0的位置定位,也就是左上角位置;

          效果如下:

        8

          如果想讓img根據(jù)div盒子進(jìn)行定位,div需要有除static之外的定位設(shè)置;成為一個(gè)包含塊,代碼如下:

          div {

          width: 400px;

          height: 400px;

          border: 10px dashed coral;

          margin: 100px;

          /* position:absolute relative fixed都可以讓一個(gè)元素成為包含塊 */

          position: absolute;

          }

          img {

          position: absolute;

          left: 100px;

          top: 100px;

          }

          效果如下:

        9

          絕對(duì)定位對(duì)元素在文檔流中的影響

          給元素設(shè)置絕對(duì)定位之后,元素原先在正常文檔流中所占的空間會(huì)關(guān)閉,就好像該元素原來不存在一樣;

          例如:在img下面添加了一個(gè)p標(biāo)簽,并且沒有給img設(shè)置絕對(duì)定位,此時(shí)img和p會(huì)根據(jù)書寫順序,從上向下依次顯示,代碼如下:

          Html:

        01

          Css:

          * {

          margin: 0;

          padding: 0;

          }

          div {

          width: 400px;

          height: 400px;

          border: 10px dashed coral;

          margin: 100px;

          }

          p {

          background: lemonchiffon;

          }

          效果如下:

        10

          當(dāng)給img設(shè)置絕對(duì)定位之后,img在正常文檔流中所占的空間會(huì)關(guān)閉,img不在占據(jù)原來的空間;p標(biāo)簽就會(huì)當(dāng)img不存在一樣,顯示在div最開始的位置:

          代碼如下:

          Html:

        03

          Css:

          * {

          margin: 0;

          padding: 0;

          }

          div {

          width: 400px;

          height: 400px;

          border: 10px dashed coral;

          margin: 100px;

          /* position:absolute relative fixed都可以讓一個(gè)元素成為包含塊 */

          position: relative;

          }

          img {

          position: absolute;

          left: 100px;

          top: 100px;

          }

          p {

          background: lemonchiffon;

          }

          效果如下:

        11

          · 固定定位 position:fixed

          生成固定定位的元素,相對(duì)于瀏覽器窗口進(jìn)行定位。

          基本使用講解

          元素設(shè)置固定定位之后,相對(duì)窗口進(jìn)行定位,不會(huì)根據(jù)瀏覽器滾動(dòng)條的滾動(dòng)而移動(dòng)位置,代碼如下:

          結(jié)構(gòu):內(nèi)容比較多,讓瀏覽器可以出現(xiàn)滾動(dòng)條

        04

          效果如下:

        12

          給圖片添加固定定位;代碼如下:

        05

          效果如下:

        13

          固定定位對(duì)元素在文檔流中的影響

          給元素設(shè)置固定定位之后,元素原先在正常文檔流中所占的空間會(huì)關(guān)閉,就好像該元素原來不存在一樣(參照上圖看效果);

          sticky 粘性定位

          css3中新增的屬性值,有兼容問題,ie低版本瀏覽器不支持

          粘性定位,元素在瀏覽器范圍內(nèi)定位時(shí)就像 position:relative; 而當(dāng)頁面滾動(dòng)超出目標(biāo)區(qū)域時(shí),它的定位效果就像 position:fixed;,它會(huì)固定在目標(biāo)位置。

          基本語法講解

          例如:給img元素設(shè)置粘性定位,代碼如下:

        06

          css代碼:

        07

          效果如下:

        14

          元素設(shè)置絕對(duì)定位、固定定位后,會(huì)生成一個(gè)塊級(jí)框,而不論原來它在正常流中生成何種類型的框。

          例如: span默認(rèn)為行內(nèi)元素,給其設(shè)置絕對(duì)定位,觀察其生成的塊級(jí)框效果,代碼如下:

          Html:

        08

          Css:

        09

          效果如下:

        15

          以上是對(duì)position屬性語法的基本講解,其實(shí)position在實(shí)際開發(fā)中,有很多靈活的使用方式,下次我們寫一個(gè)比較有趣的案例,給大家展示定位在實(shí)際項(xiàng)目中的靈活應(yīng)用。

        tags:
        聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
        10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
        請您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
        免費(fèi)領(lǐng)取
        今日已有369人領(lǐng)取成功
        劉同學(xué) 138****2860 剛剛成功領(lǐng)取
        王同學(xué) 131****2015 剛剛成功領(lǐng)取
        張同學(xué) 133****4652 剛剛成功領(lǐng)取
        李同學(xué) 135****8607 剛剛成功領(lǐng)取
        楊同學(xué) 132****5667 剛剛成功領(lǐng)取
        岳同學(xué) 134****6652 剛剛成功領(lǐng)取
        梁同學(xué) 157****2950 剛剛成功領(lǐng)取
        劉同學(xué) 189****1015 剛剛成功領(lǐng)取
        張同學(xué) 155****4678 剛剛成功領(lǐng)取
        鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
        董同學(xué) 138****2867 剛剛成功領(lǐng)取
        周同學(xué) 136****3602 剛剛成功領(lǐng)取
        相關(guān)推薦HOT
        大數(shù)據(jù)測試工程師需要具備哪些技能?

        一、理解大數(shù)據(jù)概念大數(shù)據(jù)測試工程師需要理解大數(shù)據(jù)的基本概念和原理,如分布式存儲(chǔ)、MapReduce、實(shí)時(shí)計(jì)算等。他們還需要了解如何處理大規(guī)模的...詳情>>

        2023-10-14 23:43:03
        為什么SpringBoot的 jar 可以直接運(yùn)行?

        一、JAR文件的結(jié)構(gòu)與執(zhí)行方式Spring Boot的JAR包是Java Archive的縮寫,它是一種壓縮文件格式,可以將Java項(xiàng)目的類文件、資源文件以及依賴庫等...詳情>>

        2023-10-14 23:01:49
        站群服務(wù)器是什么?

        站群服務(wù)器的含義與用途站群服務(wù)器主要用于支持站群,即由一組相互鏈接的網(wǎng)站組成的群體。這些網(wǎng)站通常由同一組織或個(gè)人擁有,并且經(jīng)常會(huì)互相鏈...詳情>>

        2023-10-14 22:46:12
        自編碼器是什么?

        一、自編碼器原理自編碼器的設(shè)計(jì)靈感源于神經(jīng)科學(xué)中關(guān)于感知系統(tǒng)的認(rèn)知原理,它的核心思想是將輸入數(shù)據(jù)經(jīng)過編碼過程,形成一個(gè)隱藏層的特征表示...詳情>>

        2023-10-14 22:41:10
        什么是云網(wǎng)融合?

        一、云網(wǎng)融合的定義云網(wǎng)融合是指將云計(jì)算與網(wǎng)絡(luò)技術(shù)相結(jié)合,實(shí)現(xiàn)資源的共享、業(yè)務(wù)的協(xié)同,將網(wǎng)絡(luò)與云端服務(wù)深度融合,提供更靈活、高效、安全的...詳情>>

        2023-10-14 22:31:47
        乐清市| 青神县| 广平县| 商洛市| 恩平市| 凤庆县| 屯门区| 独山县| 福安市| 平顺县| 泾川县| 巴塘县| 彭州市| 肇源县| 满城县| 蒲城县| 恩平市| 河源市| 沙坪坝区| 泰兴市| 三原县| 芮城县| 文化| 台州市| 行唐县| 宁远县| 新源县| 江西省| 潮安县| 南江县| 库伦旗| 奉新县| 宁津县| 乌鲁木齐县| 改则县| 凤凰县| 江城| 桂东县| 惠州市| 江西省| 民和|