CSS定位position及应用场景实例分析
我们都知道在web页面开发时,有时我们灵活的运用css的定位postion属性进行布局时可以实现很好的效果,本文我们总结了一下position知识点,及平常比较常用的地方,希望对学习css的朋友可以参考。
<script>ec(2);</script>
首先我们对postion属性进行详解。
在CSS3中,对于postion是这么描述的
总结如下:
static 是默认布局,设置top\left。。属性不会有作用。
relative是相对布局,设置的top\left。。会相对文件中的控件。
absolute是绝对定位,设置的top\left。。会相对整个页面而定。
fixed是相对浏览器窗口定位,设置的top/left属性,是相对于浏览器窗口的位置。
除此之外,经过我代码测试:
1.如果top\left。。其中某属性缺省,absolute,fixed布局的位置,会相对于父控件的位置进行改变。
2.relative相对定位,如果有父控件,相对的是最近的一个父控件,而非同层最近的一个父控件。其次是兄弟控件。
3.static对其他的遮盖层没有影响。
接着我们来通过代码证明以上结论:
情况1
HTML:
<p id="zero"> <p id="one">one</p> <p id="two">two</p> <p id="tree">tree</p> </p>
CSS:
#zero{ width:200px; height: 200px; margin: 100px 500px; background: black; z-index: 0; } #one{ width: 100px; height: 100px; position: relative; top: 50px; left:20px; background: red; z-index: 1; } #two{ width: 100px; height: 100px; position: absolute; top: 190px; background: yellow; z-index: 2; } #tree{ width: 100px; height: 100px; position: fixed; top: 250px; left: 600px; background: deepskyblue; z-index: 3; }
在此大家可以看出来id为one的p是相对父控件的布局。
情况2:
CSS:
#first{ width: 200px; height: 200px; background: black; margin-top: 100px; z-index: 1; } #second{ margin-top: 10px; margin-left:10px; width: 150px; height: 150px; background: yellow; z-index:2; } #thrid{ width: 100px; height: 100px; position:relative; background: red; top: 30px; left: 30px; z-index: 1; }
HTML:
从这里可以看出当relative定位是相对最近一个父控件的,而非同层父控件。
情况3:如果没有父p:
HTML
<p id="out"></p> <p id="out1"></p>
CSS
#out{ margin-top: 50px; width: 200px; height: 200px; background: black; z-index: 1; } #out1{ width: 200px; height: 200px; background: yellow; position: relative; z-index: 3; top:10px; }
通过这种情况,看出来 如果没有父控件,则relative定位是相对于兄弟关系的控件。
CSS3中对于z-index的描述
position开发中常见应用
1.网页两侧浮动窗口(播放器,置顶按钮,浮动广告,功能按钮等)
2.导航栏浮动置顶。
3.隐藏p实现弹窗功能(通过设置p的定位和z-index控制p的位置和出现隐藏)
其中1,3较为简单,通过简单的设置position=fixed,以及top left,z-index就能实现,此处不做说明
情况2:
通过调用js函数判断滚动条所在的位置,超过导航栏距离顶部的高度时就设置position为fix固定导航栏位置,否则position为static,maring等属性不变。
JS:
var mt = 0; window.onload = function () { var myp = document.getElementById("myp"); var mt = myp.offsetTop; window.onscroll = function () { var t = document.documentElement.scrollTop || document.body.scrollTop; if (t > mt) { myp.style.position = "fixed"; myp.style.margin = "0"; myp.style.top = "0"; } else { myp.style.margin = "30px 0"; myp.style.position = "static"; } } }
HTML:
<p class="nav auto myp" id="myp" style="z-index:2;"> <ul id="ulnav"> <li><a href="#">首页</a></li> <li><a href="classes.html">班级设置</a></li> <li><a href="achievment.html" rel="nofollow" target="_blank">教学成果</a></li> <li><a href="techEnviroment.html" target="_blank">教学环境</a></li> <li><a href="specialCourse.html" target="_blank">特色课程</a></li> <li><a href="teacherTeam.html" target="_blank">教师团队</a></li> <li><a href="contact.html" target="_blank">联系方式</a></li> <li></li> </ul> </p>
设置合适的CSS控制自己想要的样式。
相关推荐:
css float 属性和position:absolute比较
css: list-style-position的使用与定义
Atas ialah kandungan terperinci CSS定位position及应用场景实例分析. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



HTML mentakrifkan struktur web, CSS bertanggungjawab untuk gaya dan susun atur, dan JavaScript memberikan interaksi dinamik. Ketiga melaksanakan tugas mereka dalam pembangunan web dan bersama -sama membina laman web yang berwarna -warni.

Menggunakan bootstrap dalam vue.js dibahagikan kepada lima langkah: Pasang bootstrap. Import bootstrap di main.js. Gunakan komponen bootstrap secara langsung dalam templat. Pilihan: Gaya tersuai. Pilihan: Gunakan pemalam.

Terdapat dua cara untuk membuat garis perpecahan bootstrap: menggunakan tag, yang mewujudkan garis perpecahan mendatar. Gunakan harta sempadan CSS untuk membuat garis perpecahan gaya tersuai.

WebDevelopmentReliesOnhtml, CSS, andjavascript: 1) HtmlStructuresContent, 2) CSSStylesit, dan3) JavaScriptaddsInteractivity, Formingthebasisofmodernwebexperiences.

Bagaimana cara menggunakan butang bootstrap? Perkenalkan CSS bootstrap untuk membuat elemen butang dan tambahkan kelas butang bootstrap untuk menambah teks butang

Untuk menyesuaikan saiz unsur-unsur dalam bootstrap, anda boleh menggunakan kelas dimensi, yang termasuk: menyesuaikan lebar: .col-, .w-, .mw-adjust ketinggian: .h-, .min-h-, .max-h-

Terdapat beberapa cara untuk memasukkan imej dalam bootstrap: masukkan imej secara langsung, menggunakan tag HTML IMG. Dengan komponen imej bootstrap, anda boleh memberikan imej yang responsif dan lebih banyak gaya. Tetapkan saiz imej, gunakan kelas IMG-cecair untuk membuat imej boleh disesuaikan. Tetapkan sempadan, menggunakan kelas IMG-Sempadan. Tetapkan sudut bulat dan gunakan kelas IMG-bulat. Tetapkan bayangan, gunakan kelas bayangan. Saiz semula dan letakkan imej, menggunakan gaya CSS. Menggunakan imej latar belakang, gunakan harta CSS imej latar belakang.

Untuk menubuhkan rangka kerja bootstrap, anda perlu mengikuti langkah -langkah ini: 1. Rujuk fail bootstrap melalui CDN; 2. Muat turun dan tuan rumah fail pada pelayan anda sendiri; 3. Sertakan fail bootstrap di HTML; 4. Menyusun sass/kurang seperti yang diperlukan; 5. Import fail tersuai (pilihan). Setelah persediaan selesai, anda boleh menggunakan sistem grid Bootstrap, komponen, dan gaya untuk membuat laman web dan aplikasi yang responsif.
