css布局定位
- 格式:ppt
- 大小:473.00 KB
- 文档页数:19


CSS3与页⾯布局学习总结(四)——页⾯布局的多种⽅法⼀、负边距与浮动布局1.1、负边距所谓的负边距就是margin取负值的情况,如margin:-100px,margin:-100%。
当⼀个元素与另⼀个元素margin取负值时将拉近距离。
常见的功能如下:1.1.1、向上移动当多个元素同时从标准流中脱离开来时,如果前⼀个元素的宽度为100%宽度,后⾯的元素通过负边距可以实现上移。
当负的边距超过⾃⾝的宽度将上移,只要没有超过⾃⾝宽度就不会上移,⽰例如下:<!DOCTYPE html><html><head><meta charset="UTF-8"><title>负边距</title><style type="text/css">* {margin: 0;padding: 0;}#div1 {height: 100px;background: lightblue;width: 100%;float: left;}#div2 {height: 100px;background: lightgreen;width: 30%;float: left;margin-left: -100%;}</style></head><body><div id="div1">div1</div><div id="div2">div2</div></body></html>运⾏效果:1.1.2、去除列表右边框开发中常需要在页⾯中展⽰⼀些列表,如商品展⽰列表等,如果我们要实现如下布局:实现代码<!DOCTYPE html><html><head><meta charset="UTF-8"><title>负边距</title><style type="text/css">* {margin: 0;padding: 0;}#div1 {width: 780px;height: 380px;margin: 0 auto;border: 3px solid dodgerblue;overflow: hidden;margin-top: 10px;}.box {width: 180px;height: 180px;margin: 0 20px 20px 0;background: orangered;float: left;}#div2{margin-right: -20px;}</style></head><body><div id="div1"><div id="div2"><div class="box"></div><div class="box"></div><div class="box"></div><div class="box"></div><div class="box"></div><div class="box"></div></div></div></div></body></html>1.1.3、负边距+定位,实现⽔平垂直居中1.1.4、去除列表最后⼀个li元素的border-bottom代码如下:<!DOCTYPE html><html><head><meta charset="UTF-8"><title>负边距</title><style type="text/css">* {margin: 0;padding: 0;list-style: none;}#news {width: 200px;border: 2px solid lightblue;margin: 20px 0 0 20px;font-family: 'Heiti SC', 'Microsoft YaHei';color: brown;}#news li{height: 26px;line-height: 26px;border-bottom: 1px dashed lightblue;}.lastLi{margin-bottom:-1px ;/*意思是向上移回1px 跟框框重合了*/}</style></head><body><div id="news"><ul><li>Item A</li><li>Item B</li><li>Item C</li><li>Item D</li><li class="lastLi">Item E</li></ul></div></body></html>运⾏效果:⽅法⼆:使⽤CSS3中的新增加选择器,选择最后⼀个li,不使⽤类样式,好处是当li的个数不确定时更加⽅便。
CSS经典三栏布局⽅案(6种⽅法)本⽂介绍了CSS经典三栏布局⽅案,分享给⼤家,也给⾃⼰做个笔记,具体如下:三栏布局,顾名思义就是两边固定,中间⾃适应。
三栏布局在开发⼗分常见1. float布局最简单的三栏布局就是利⽤float进⾏布局。
⾸先来绘制左、右栏:<style>.left {float: left;width: 100px;height: 200px;background-color: red;}.right {float: right;width: 100px;height: 200px;background-color: yellow;}</style><div class="container"><div class="left"></div><div class="right"></div><div class="main"></div></div>此时可以得到左右两栏分布:接下来再来看中间栏如何处理。
我们知道对于float元素,其会脱离⽂档流,其他盒⼦也会⽆视这个元素。
(但其他盒⼦内的⽂本依然会为这个元素让出位置,环绕在周围。
)所以此时只需在container容器内添加⼀个正常的div,其会⽆视left和right,撑满整个container,只需再加上margin为left right流出空间即可:<style>.left {float: left;width: 100px;height: 200px;background-color: red;}.right {float: right;width: 100px;height: 200px;background-color: yellow;}.main {background-color: green;height: 200px;margin-left: 120px;margin-right: 120px;}.container {border: 1px solid black;}<div class="container"><div class="left"></div><div class="right"></div><div class="main"></div></div>优势:简单劣势:中间部分最后加载,内容较多时影响体验2. BFC 规则BFC(块格式化上下⽂)规则规定:BFC不会和浮动元素重叠。
css 实现上下左右居中的几种方法(原创版3篇)目录(篇1)1.标题:css 实现上下左右居中的几种方法2.方法一:使用 Flexbox 布局3.方法二:使用 Grid 布局4.方法三:使用绝对定位与 transform5.方法四:使用绝对定位与 margin:auto6.方法五:使用 position:relative 与 transform7.总结:各种方法的优缺点及适用场景正文(篇1)在网页设计中,实现元素的上下左右居中是一个常见的需求。
CSS 提供了多种方法来实现这一效果。
本文将介绍五种常用的方法。
方法一:使用 Flexbox 布局Flexbox 是 CSS3 引入的一种弹性盒子布局模式,可以轻松实现元素的居中。
首先,将需要居中的元素的容器设置为 display: flex,然后使用 justify-content 和 align-items 属性分别设置水平和垂直居中。
方法二:使用 Grid 布局Grid 布局是 CSS3 引入的另一种布局模式,适用于实现复杂的布局设计。
通过将容器设置为 display: grid,并使用 place-items 属性设置元素在网格中的位置,可以实现上下左右居中。
方法三:使用绝对定位与 transform通过将需要居中的元素设置为 position: absolute,并使用 top、left、right、bottom 等属性设置元素相对于容器的位置,然后使用transform 属性设置旋转角度,可以实现上下左右居中。
方法四:使用绝对定位与 margin:auto将需要居中的元素设置为 position: absolute,并使用margin-left、margin-right、margin-top、margin-bottom 设置为 auto,可以实现上下左右居中。
方法五:使用 position:relative 与 transform将需要居中的元素设置为 position: relative,并使用 transform 属性设置旋转角度和偏移量,可以实现上下左右居中。
CSS通过设置position定位的三种常⽤定位 CSS中可以通过设置为元素设置⼀个position属性值,从⽽达到将不同的元素显⽰在不同的位置,或者固定显⽰在某⼀个位置,或者显⽰在某⼀层页⾯之上。
position的值可以设为relative,absolute,fixed,static。
HTML代码⾥定义两个区块:1<div class="box">2<div class="box1"></div>3</div> 1.相对定位:1.box {2 width: 50px;3 height: 50px;4 position: relative;5 top: 50px;6 left: 10px;7 }以上代码将实现将box以box最初的位置向右移动50px,向下移动10px。
2.绝对定位:1.box1 {2 width: 10px;3 height: 20px;4 position: absolute;5 top: 10px;6 left: 10px;7 }以上代码将实现将box1的位置以当前的视⼝位置的原点为基准位置进⾏移动相应得距离;如果将box1的⽗级设置了relative,那么box1将会以box的原点进⾏位移。
1.box {2 position: relative;3 }4.box1 {5 width: 10px;6 height: 20px;7 position: absolute;8 top: 10px;9 left: 10px;10 } 3.固定定位:1.box {2 width: 50px;3 height: 50px;4 position: fixed;5 top: 20px;6 left: 0px;7 }以上代码将会将box固定在视窗的距离顶部20px的左侧边缘位置。
使⽤注意点:1.绝对定位会使元素脱离⽂档流,位于定位元素后⾯的元素将会移动到该元素的位置去填补空⽩区域;2.⼀般情况下,绝对定位都会和ixnagdui相对⼀起使⽤;3.使⽤fixed和absolute时,⼀定要认清谁是基准位置。