css常见合理布局多行两列

日期:2021-01-20 类型:科技新闻 

关键词:微信小程序页面设计,python小程序,小程序首页模板,如何建立微信小程序,怎么做微信小程序

CSS合理布局常见的方式:float : none | left | right
赋值:
none :  默认设置值。目标不悬浮
left :  文字流向目标的右侧
right :  文字流向目标的左侧
它是如何工作中的,看个1行多列的事例
xhtml:
<div id="warp">
<div id="column1">这里是第1列</div>
<div id="column2">这里是第2列</div>
<div class="clear"></div>
</div>
CSS:
#wrap{ width:100%; height:auto;}
#column1{ float:left; width:40%;}
#column2{ float:right; width:60%;}
.clear{ clear:both;}
position : static | absolute | fixed | relative
赋值:
static :  默认设置值。无独特精准定位,目标遵照HTML精准定位标准
absolute :  将目标从文本文档流中拖出,应用 left , right , top , bottom 等特性相对其最贴近的1个最有精准定位设定的父目标开展肯定精准定位。假如不存在这样的父目标,则根据 body 目标。而其堆叠根据 z-index 特性界定
fixed :  未适用。目标精准定位遵循肯定(absolute)方法。可是要遵循1些标准
relative :  目标不能堆叠,但将根据 left , right , top , bottom 等特性在一切正常文本文档流中偏位部位
它来完成1行多列的事例
xhtml:
<div id="warp">
<div id="column1">这里是第1列</div>
<div id="column2">这里是第2列</div>
</div>
CSS:
#wrap{ position:relative;/*相对性精准定位*/width:770px;}
#column1{ position:absolute; top:0; left:0; width:300px;}
#column2{position:absolute; top:0; right:0; width:470px;}
她们的差别在哪儿?
明显,float是相对性精准定位的,会伴随着访问器的尺寸和辨别率的转变而更改,而position就不好了,因此1般状况下還是float合理布局!
CSS常见合理布局案例
1列
单行1列
body { margin: 0px; padding: 0px; text-align: center; }
#content { margin-left:auto; margin-right:auto; width: 400px; width: 370px; }
两行1列
body { margin: 0px; padding: 0px; text-align: center;}
#content-top { margin-left:auto; margin-right:auto; width: 400px; width: 370px;}
#content-end {margin-left:auto; margin-right:auto; width: 400px; width: 370px;}
3行1列
body { margin: 0px; padding: 0px; text-align: center; }
#content-top { margin-left:auto; margin-right:auto; width: 400px; width: 370px; }
#content-mid { margin-left:auto; margin-right:auto; width: 400px; width: 370px; }
#content-end { margin-left:auto; margin-right:auto; width: 400px; width: 370px; }
多列
单行多列
#bodycenter { width: 700px;margin-right: auto; margin-left: auto;overflow: auto; }
#bodycenter #dv1 {float: left;width: 280px;}
#bodycenter #dv2 {float: right;width: 410px;}
两行多列
#header{ width: 700px; margin-right: auto;margin-left: auto; overflow: auto;}
#bodycenter { width: 700px; margin-right: auto; margin-left: auto; overflow: auto; }
#bodycenter #dv1 { float: left; width: 280px;}
#bodycenter #dv2 { float: right;width: 410px;}
3行多列
#header{ width: 700px;margin-right: auto; margin-left: auto; }
#bodycenter {width: 700px; margin-right: auto; margin-left: auto; }
#bodycenter #dv1 { float: left;width: 280px;}
#bodycenter #dv2 { float: right; width: 410px;}
#footer{ width: 700px; margin-right: auto; margin-left: auto; overflow: auto; }
3列
单行3列
肯定精准定位
#left { position: absolute; top: 0px; left: 0px; width: 120px; }
#middle {margin: 20px 190px 20px 190px; }
#right {position: absolute;top: 0px; right: 0px; width: 120px;}
float精准定位
xhtml:
<div id="warp">
<div id="column">
<div id="column1">这里是第1列</div>
<div id="column2">这里是第2列</div>
<div class="clear"></div>
</div>
<div id="column3">这里是第3列</div>
<div class="clear"></div>
</div>
CSS:
#wrap{ width:100%; height:auto;}
#column{ float:left; width:60%;}
#column1{ float:left; width:30%;}
#column2{ float:right; width:30%;}
#column3{ float:right; width:40%;}
.clear{ clear:both;}
float精准定位2
xhtml:
<div id="center" class="column">
<h1>This is the main content.</h1>
</div>
<div id="left" class="column">
<h2>This is the left sidebar.</h2>
</div>
<div id="right" class="column">
<h2>This is the right sidebar.</h2>
</div>
CSS:
body {margin: 0;padding-left: 200px;padding-right: 190px;min-width: 240px;}
.column {position: relative;float: left;}
#center {width: 100%;}
#left {width: 180px; right: 240px;margin-left: ⑴00%;}
#right {width: 130px;margin-right: ⑴00%;}
两行3列
xhtml:
<div id="header">这里是顶行</div>
<div id="warp">
<div id="column">
<div id="column1">这里是第1列</div>
<div id="column2">这里是第2列</div>
<div class="clear"></div>
</div>
<div id="column3">这里是第3列</div>
<div class="clear"></div>
</div>
CSS:
#header{width:100%; height:auto;}
#wrap{ width:100%; height:auto;}
#column{ float:left; width:60%;}
#column1{ float:left; width:30%;}
#column2{ float:right; width:30%;}
#column3{ float:right; width:40%;}
.clear{ clear:both;}
3行3列
xhtml:
<div id="header">这里是顶行</div>
<div id="warp">
<div id="column">
<div id="column1">这里是第1列</div>
<div id="column2">这里是第2列</div>
<div class="clear"></div>
</div>
<div id="column3">这里是第3列</div>
<div class="clear"></div>
</div>
<div id="footer">这里是底部1行</div>
CSS:
#header{width:100%; height:auto;}
#wrap{ width:100%; height:auto;}
#column{ float:left; width:60%;}
#column1{ float:left; width:30%;}
#column2{ float:right; width:30%;}
#column3{ float:right; width:40%;}
.clear{ clear:both;}
#footer{width:100%; height:auto;}
PS:这里列出的是常见的事例,而非科学研究之用,对1每一个盒子,我都沒有设定margin,padding,boeder等特性,是由于我本人感觉,含有宽度精准定位的情况下,最好是不太好用到她们,除非必不可已,由于假如并不是这样的话,处理访问器适配难题,会让你头疼,并且造成1系列CSS编码,我感觉这样的高效率和实际效果都不太好!
CSS合理布局高級技能
margin和padding一直有将会要用到,而造成的难题怎样处理呢?因为访问器解释器皿宽度的方式不一样:
IE 6.0 Firefox Opera等是
真正宽度=width+padding+border+margin
IE5.X
真正宽度=width-padding-border-margin
很显著,第1种下很完善的合理布局在第2种状况下不良影响是很凄凉的!
处理的方式是 hack
div.content {
width:400px; //这个是不正确的width,全部访问器都读到了
voice-family: "\"}\""; //IE5.X/win忽视了"\"}\""后的內容
voice-family:inherit;
width:300px; //包含IE6/win在内的一部分访问器读到这句,新的标值(300px)遮盖掉了旧的
}
html>body .content { //html>body是CSS2的写法
width:300px; //适用CSS2该写法的访问器(非IE5)荣幸读到了这1句
}
div.content {
width:300px !important; //这个是正确的width,绝大多数适用!important标识的访问器应用这里的标值
width(空格)/**/:400px; //IE6/win不分析这句,因此IE6/win依然觉得width的值是300px;而IE5.X/win读到这句,新的标值(400px)遮盖掉了旧的,由于!important标识对她们不起功效
}
html>body .content { //html>body是CSS2的写法
width:300px; //适用CSS2该写法的访问器荣幸读到了这1句
}
列等高技能
n行n列合理布局,每列高宽比(事前其实不能明确哪列的高宽比)的同样,是每一个设计方案师追求完美的总体目标,做法有:情况图填充、加JS脚本制作的
方式和器皿外溢一部分掩藏和列的负底界限和正的内补钉相融合的方式。
情况图填充法:
xhtml:
<div id="wrap">
<div id="column1">这是第1列</div>
<div id="column1">这是第2列</div>
<div class="clear"></div>
</div>
css:
#wrap{ width:776px; background:url(bg.gif) repeat-y 300px;}
#column1{ float:left; width:300px;}
#column2{ float:right; width:476px;}
.clear{ clear:both;}
便是将1个npx宽的1张照片出外部器皿纵向反复,精准定位到多列交叠的部位纵向反复,在视觉效果上造成了多列高宽比1样的幻觉
上一篇:CSS实例教程:学习培训CSS的承继性 返回下一篇:没有了