css 实例(css网页的几种布局实例)
大家好,今天来为大家解答css 实例这个问题的一些问题点,包括css网页的几种布局实例也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~
总结几种常见的div+css布局实例
学习前端html和css技术,最重要的是在于实践,无论朋友们看了多少的教程,视频课程或者是相关的书籍,只有亲手去实践才会对这些有全新的认识。有时看别人代码一眼能看懂,自己却无从下手写起;有时不能理解的技术知识与问题,怎么思考也想不明白等等。本篇文章就给朋友们介绍一下各种常见的 div+css布局方式和实践技巧。
DIV+ CSS布局相关内容
1. DIV+CSS布局样式详解
a符合 W3C标准,微软等公司均为 W3C支持者。
b能够对网页的布局、字体、颜色、背景等图文效果实现更加精确的控制,调整更加方便,现在很多网站均使用p+CSS框架模式,更加印证p+CSS是大势所趋
c将格式和结构分离,有利于格式的重用及网页的修改维护,在团队开发中更容易分工合作而减少相互关联性
d CSS的极大优势表现在简介的代码,制作体积更小,下载更快,节省大量带宽,而且众所周知,搜索引擎喜欢简洁的代码。
e利用CSS样式表,可以将站点上的所有网页都只指向同一个CSS文件,可以实现许多网页同时更新。
2. Html+CSS布局技巧的代码分享
我们都知道,每个人都有不同的嗜好,有的人喜欢吃甜食,有的人喜欢吃辣的东西,有的人不喜欢吃芹菜,有的人不喜欢吃羊肉等等。CSS中的有些元素也是这样,他们有的只对牛奶感兴趣,有的只喜欢吃坚果和果冻,而讨厌牛奶。而vertical-align呢,是个比较挑食的家伙,它只喜欢吃果冻,从小吃果冻长大,没有了果冻,它就会闹脾气,对你不理不睬。我称之为“果冻依赖型元素”,又称之为“inline-block依赖型元素”,也就是说,只有一个元素属于inline或是inline-block(table-cell也可以理解为inline-block水平)水平,其身上的vertical-align属性才会起作用。
3. DIV+CSS布局中自适应高度的解决方法
要从固定的、基于像素的设计方法转到弹性的、相对的设计方法并不容易。但是如果恰当利用,就可以成为增强亲和力和易用性的一个自然选择,同时又无须做出设计上的牺牲。
采用印刷式的固定设计方案或许要容易些,因为如果尺寸不变,则考虑的东西就相对较少。可是如果采用弹性的设计方法,就可以充分利用电脑的显示器和浏览器。
4.详解CSS布局之圣杯布局与双飞翼布局示例
html代码中,middle部分首先要放在container的最前部分,然后是left,right
1)将三者都设置 float:left, position:relative(因为相对定位后面会用到)
2)middle设置 width:100%占满一行
3)此时middle占满一行,所以要把left拉到middle所在行的最左边,使用 margin-left:-100%
4)这时left拉回到middle所在行的最左边,但会覆盖middle内容的左端,要把middle内容拉出来,所以在外围container加上 padding:0 210px
5)middle内容拉出来了,但left也跟着出来了,所以要还原,就对left使用相对定位 left:-210px
6)同理,right要拉到middle所在行的最右边,使用 margin-left:-210px,right:-210px
5.必看的css布局小技巧分享
当页面左右宽度缩小时,为了避免出现左右滚动条的糟糕体验,就可以用到max-width啦!页面比宽度小时,会自动缩小哦~
对元素设置box-sizing:border-box后,确定宽度后再设置padding和border,不会改变宽度。可以对全局设置
边框自适应内容的大小,不会出现overflow的情况
6. CSS布局居中对齐,左侧定宽右侧自适应详细介绍
CSS页面布局是web前端开发的最基本的技能,本文将介绍一些常见的布局方法,涉及到盒子布局,column布局,flex布局等内容。本文中,你可以看到一些水平垂直居中的方法,左侧固定宽度,右侧自适应的一些方法。
相关问答
1. css布局 table cellspacing
2.脚部布局和CSS布局问题
3. css布局的设置问题
【相关推荐】
1. DIV+CSS布局入门教程:5个div+css零基础入门教程推荐
2. DIV+CSS盒子模型知识总结,轻松掌握div+css布局
css的基本语法
css的基本语法
cascading stylesheet(级联样式表)。为网页提供外观(也就是,网页的表现形式)。将网页的外观写在一个css文件里,方便页面代码的维护(将表现与数据分离)。为方便大家学习css,我为大家分享css的基本语法如下:
css的基本语法选择器{
属性1:属性值1;
属性n:属性值n;
符合选择器要求的标记,会添加对应的样式。
Chrome浏览器为SVG和CSS添加GPU加速功能
互联网有消息透露,谷歌正在为Chrome浏览器增加新的GPU加速功能。Chrome18浏览器将内建开关选项,让消费者选择使用GPU硬件加速基于矢量的SVG图形和CSS过滤器,让Chrome浏览器在未来网页显示上获得突破性速度,并且达成惊人的视觉效果。
Chrome浏览器的SVG和CSSGPU加速支持Windows,Mac,Linux和谷歌的Chrome操作系统,但目前这个功能仍然主要是实验性质,因为只有几个少数网站部署了SVG和CSSGPU加速。
但也有信息表示,tomshardware测试发现Chrome这项功能在显示目前网页方面,显示速度并没有出现任何显着增加,在WebVizHTML5基准测试当中出现了不稳定和崩溃问题。
评论表示,虽然SVG和CSSGPU加速还有待完善,但是Mozilla火狐、微软IE和其他版本浏览器之间的竞争,肯定会推动这种技术快速发展和完善。
设置容器中的内容垂直居中css代码
如实例1设置网页整体居中的代码中内容是居容器的顶部的,而在表格布局时默认是垂直居中的,当我们需要垂直居中的时候该怎么办呢?别害怕,跟我来,也是比较简单的,只用设置容器内的行高就行了。
line-height:500px;
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312"/>
<title>标准之路www.aa25.cn</title>
<style>
#layout{width:778px;margin:0auto;text-align:center;border:1pxsolid#44b6dc;background:#e1edfb;height:500px;line-height:500px;}
</style>
</head>
<body><pid="layout">标准之路www.##.cn</p>
</body>
</html>
提示:可以先修改部分代码后再运行
这是一种方法,另外和种方法就是设置的`它内边距padding了,自己可以试试哟~~
CSS对不同浏览器的兼容性解决办法
CSS对不同浏览器的兼容性解决办法由于CSS在不同浏览器中存在兼容性问题,所以在使用 p+CSS布局中,可能导致相同的内容在不同浏览器中出现不同的显示效果,为了解决这些方面的问题,以下针对CSS某些属性的用法提出相应的一些解决办法。 1、页面居中问题在IE浏览器下,可以通过定义CSS样式body{text- align: center;}来实现页面居中,但在FireFox(以下简写为FF)浏览器下此属性就失效了。解决办法:使用"margin- left: auto; margin- right: auto;" www.diannao114.cn2、padding属性在不同浏览器的显示问题当给p设置padding属性后,在FF浏览器中会导致 width和height增加(p的实际宽度=p宽+Padding),但在 IE浏览器中width和height不会增加,这就导致相同的内容在不同浏览器中出现不同的显示效果。解决办法:给p设定IE、FF两个宽度,在IE的宽度前加上IE特有标记"*"号。例如:#pwidth{ padding:5px; width:100px;*width:110px;} 3、奇怪的间隙问题有的时候我们明明设好了高度,可在IE6上却看见一些奇怪的间隙。解决办法:试试在有空隙的p上加上"font- size:0px;" 4、关于手形光标要将页面内容的光标显示为手形,通常的做法是使CSS属性cursor: hand;但这于做法只适用于IE.解决办法:cursor: pointer; 5、浮动在IE6产生双倍距离问题例如:#box{ float:left; width:100px; margin:0 0 0 100px;}这种情况之下IE6会产生200px的距离。解决办法:在以上属性的基础上,加上display:inline,使浮动忽略。6、UL和FORM标签的padding与margin ul标签在FF中默认是有padding值的,而在IE中只有 margin默认有值。FORM标签在IE中,将会自动margin一些边距,而在FF中margin则是0;解决办法:css中首先都使用这样的样式ul,form{margin:0; padding:0;}。 7、截字省略号.hh{- o- text- overflow:ellipsis; text- overflow:ellipsis; white- space:nowrap; overflow:hidden;}这个CSS是定义当内容溢出宽度后会自行的截掉超出部分的文字,并以省略号结尾,但注意Firefox并不支持。
p+CSS网页布局的分类
p+CSS网页布局的分类1、一列固定宽度一列布局是所有布局的基础,也是最简单的布局方式,用 p+CSS布局的代码如下: XHTML代码:一列固定宽度CSS代码:#main1{ width: 400px; height: 300px; background- color:#EEEEEE; border: 1px solid#999999;} 2、一列自适应宽度自适应的布局能够根据浏览器窗口的大小自动改变其宽度和高度值,是网页设计中一种非常灵活的布局形式,用 p+CSS布局的代码如下: XHTML代码:一列自适应宽度CSS代码:#main2{ width: 70%; height: 300px; background- color:#EEEEEE; border: 1px solid#999999;} 3、一列固定宽度居中页面整体居中是网页布局中最常见到形式,在传统的表格布局中,使用TABLE的align="center"属性来实现,在p+CSS布局中采用如下代码来实现:XHTML代码:一列自适应宽度CSS代码: p+CSS网页布局方法探析。如今的网页设计考虑得更多的是搜索引擎以及给用户带来更多的便利,传统的TABLE网页布局由于其庞大的HTML代码,使得其在搜索引擎方面显得有些无能为力,而用p+CSS进行网页布局具有代码精简的优点使得其在这方面又体现出更多的优势。但是又由于CSS对不同浏览器存在兼容性问题,所以对于初学者来说,在使用p+CSS进行网页布局过程中可能会遇到各种问题,本文就给大家探讨几点p+CSS布局的技巧。4、二列固定宽度在有一列固定宽度布局的基础上,实现二列固定宽度也就很简单了,用p+CSS布局的代码如下:XHTML代码:左侧右侧CSS代码:#left{ width: 150px; height: 300px; background- color:#EEEEEE; border: 1px solid#999999; float:left;}#right{ width: 400px; height: 300px; background- color:#EEEEEE; border: 1px solid#999999; float:left;} 5、二列固定宽度居中从一列固定宽度居中的布局方法中,我们就不难完成二列固定宽度居中了,可以使用一个居中的p作为容器,将二列分栏的p放置在容器中,从而就实现二列的居中显示。 p+CSS的代码如下: XHTML代码:左侧右侧CSS代码:#main{ width:554px; margin:0px auto;#left{ width: 150px; height: 300px; background- color:#EEEEEE; border: 1px solid#999999; float:left;}#right{ width: 400px; height: 300px; background- color:#EEEEEE; border: 1px solid#999999; float:left;}这里仅列举了一列、二列的布局方式,实际上三列、四列等多列的布局方式也和二列的布局方式的实现方法是一样的。事实上不管多么复杂的页面设计,在p+CSS网页布局中,均是以p为基础,通过一列、二列、三列这些基础的布局方式的相互组合与嵌套来实现复杂的布局。
p+CSS网页布局技巧:设置网页整体居中的css代码
以前用表格布局时设置网页居中非常方便,把表格对齐方式设置为居中就行了,就这么简单,现在呢,用p+CSS样式表控制,好像不是那么容易了,其实也很简单,只不过方式不同而已。
<style>
#layout{ width:778px; margin:0 auto; text-align:center;}
</style>
<p id="layout">标准之路www.aa25.cn</p>
请看这段代码,宽度为适合800×600分辨率浏览器的宽度,margin:0 auto;这句代码就是让居中了,意思是外边距上下设置为0,左右设为自动。这样它就居中了。
那么可能你要问了,text-align:center;为什么还要让内容居中呢?呵呵,别着急,这句是为了适应IE6以下版本的浏览器而加的,IE6以下对margin:0 auto;不能解析为居中,所以用这种方式来补救,以下在设计内容时再用 text-align:left;就可以了。
注:margin和padding的值的顺序为顺时针上右下左,如margin:1px 2px 3px 4px;还可以缩写为上下、左右,如本例,如果为margin:0px;则是各边都为0
提示:可以先修改部分代码后再运行
;css网页的几种布局实例
本文主要介绍了浅谈css网页的几种布局的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。
2018年已经过了一周,总结一下2017年在公司wiki上写的一篇关于css布局的知识,当时也借鉴了几个大神写的css布局知识,和自己在项目中遇到的坑。废话不多说。请看以下的干货。
1、左边固定,右边自适应布局的两种实现方式
效果图如下:
大屏展示:
小屏展示:
第一种实现方式通过负边距与浮动实现左边固定,右边自适应的布局。主要代码如下:
<style type="text/css">
.left{
float: left;
width: 100%;
height: 200px;
background-color: red;
}
.left-content{
margin-left: 30%;
}
.right{
float: left;
width: 30%;
margin-left:-100%;
height: 200px;
background-color: green;
}
.layout0{
clear: both;
width: 100px;
height: 100px;
background-color: yellow;
}
</style>
<body>
<p id="body">
<p class="bchome-cc29-7a02-64fd-a5b4 left">
<p class="bchome-7a02-64fd-a5b4-a1fc left-content">
设置子元素的margin,然后父元素必须浮动。
用父元素包裹,主要是因为right会覆盖left,从而导致left内容不可以看到,如果直接在left上设置margin或者padding会导致布局变化,因此只能再用一个p包裹内容,并且去除right覆盖的宽度。
</p>
</p>
<p class="bchome-64fd-a5b4-a1fc-f351 right">-margin必须大于或等于自身的宽度才会上移</p>
<p class="bchome-a5b4-a1fc-f351-24b9 layout0"></p>
</p>
</body>实现过程中需要注意的是:
1.自适应的容器需要容器包裹住,否则容器内的内容会被覆盖。
2.right容器的负边距必须大于或等于自身的宽度才会上移。
3.如果right容器负边距等于自身的宽度它会靠右对齐,如果负边距等于-100%,则会靠左对齐。
第二种通过浮动布局来实现左边固定,右边自适应的布局
主要的代码如下:
<style type="text/css">
.left{
float: left;
width: 200px;
height: 200px;
background-color: yellow;
}
.right{
padding-left: 200px;
height: 200px;
background-color: red;
}
@media(min-width: 650px) and(max-width: 1000px){
.left{
width: 150px;
}
.right{
margin-left: 150px;
}
}
@media(max-width: 640px){
.left{
width: 100px;
}
.right{
margin-left: 100px;
}
}
</style>
<body>
<p id="main">
<p class="bchome-a1fc-f351-24b9-0000 left">左边固定宽度,右边自适应</p>
<p class="bchome-f351-24b9-0000-248c right"></p>
</p>
</body>实现过程中需要注意的是: 1. left需要脱离文档流,而right只需要正常显示就可以。
2.left只是覆盖在right上边,因此想要让right内容完整显示需要给right padding-left或者margin-left。
大屏展示:
小屏展示:
主要代码如下:
<style type="text/css">
#head{
height: 200px;
background-color: yellow;
}
#body{
width: 100%;
float: left;
}
.main{
background-color: green;
min-height: 200px;
margin: 0 210px;
}
.left{
float: left;
background-color: red;
width: 200px;
height: 200px;
margin-left:-100%;
}
.right{
float: right;
background-color: blue;
width: 200px;
height: 200px;
margin-left:-200px;
}
#footer{
clear: both;
height: 200px;
background-color: orange;
}
</style>
<body>
<p id="head">即左右固定,中间自适应,它可以利用margin-left为负数来实现,它的实现原理就是margin为负值可以改变float元素的排列位置</p>
<p id="body">
<p class="bchome-24b9-0000-248c-1cea main">当多个元素同时从标准流中脱离开来时,如果前一个元素的宽度为100%宽度,后面的元素通过负边距可以实现上移。当负的边距超过自身的宽度将上移,只要没有超过自身宽度就不会上移</p>
</p>
<p class="bchome-0000-248c-1cea-d850 left"></p>
<p class="bchome-248c-1cea-d850-1b4c right"></p>
<p id="footer"></p>
</body>实现过程中需要注意:
1.中间自适应的p需要放在left和right容器前面并且内容p需要用父容器包裹
2.left和right容器向同一个方向浮动。
主要代码如下:
<style type="text/css">
#head{
height: 200px;
background-color: yellow;
}
#body{
overflow: hidden;
}
.left{
float: left;
background-color: red;
width: 200px;
height: 200px;
}
.right{
float: right;
background-color: blue;
width: 200px;
height: 200px;
}
.main{
background-color: green;
height: 200px;
margin: 0 210px;
}
#footer{
clear: both;
height: 200px;
background-color: orange;
}
</style>
<body>
<p id="head">左右固定宽度并且向两边浮动,中间的p设置两边的margin</p>
<p id="body">
<p class="bchome-1cea-d850-1b4c-ee60 left"></p>
<p class="bchome-d850-1b4c-ee60-084d right"></p>
<p class="bchome-1b4c-ee60-084d-6b9c main">该方案有一个缺陷,在小屏幕情况下回导致right被挤下去,main没有了</p>
</p>
<p id="footer"></p>
</body>实现过程中需要注意:
1.该方式只需要注意中间自适应的p需要放在left和right容器的后面。
2.left和right容器向两边浮动。
主要代码如下:
<!DOCTYPE html>
<html>
<meta charset="utf-8">
<head>
<title>使用flex实现“双飞翼布局”</title>
</head>
<style type="text/css">
#main{
display: flex;
display:-webkit-flex;//谷歌浏览器加前缀
flex-flow: row nowrap;
justify-content: flex-start;
align-items: center;
}
.left{
flex: 0 0 auto;
width:100px;
height: 200px;
background-color: red;
word-wrap: break-word;
overflow: hidden;
}
.main{
flex: 1 1 auto;
height: 200px;
background-color: green;
}
.right{
flex: 0 0 auto;
width: 100px;
height: 200px;
background-color: yellow;
}
</style>
<body>
<p id="main">
<p class="bchome-ee60-084d-6b9c-80ad left">flex语法我参照了阮一峰关于flex语法介绍 http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html</p>
<p class="bchome-a4c0-872d-cc29-7a02 main"></p>
<p class="bchome-872d-cc29-7a02-64fd right"></p>
</p>
</body>
</html>如果未了解过flex布局请移至文末点击链接查看阮一峰大神写的关于flex语法
3、定位布局
这边就不絮絮叨叨的讲一些基础的css定位知识了(ps:不会的请自行到w3c官网查阅),我主要来讲解一下工作中遇到的坑。以免其他人和我一样掉入坑中。
第一:使用多个fixed时,注意自己需要基于什么定位,因为如果父级有用transform属性时,可能会导致子元素的fixed基于父元素容器定位,而不是基于body定位。效果如下:
在上图中我可以发现中间黑色的小框是基于父级来定位,并且宽度也基于父容器的50%。详细的请看下面代码:
<!DOCTYPE html>
<html>
<head>
<title>关于position的定位的坑</title>
</head>
<style type="text/css">
body{
margin: 0;
padding: 0;
}
i{
font-style: normal;
cursor: pointer;
}
#delete-button{
position: absolute;
left: 45%;
top: 45%;
text-align: center;
vertical-align: middle;
height: 50px;
margin: auto;
cursor: pointer;
}
#delete-button> i{
display: inline-block;
width: 32px;
height: 32px;
border-radius: 16px;
background-color: orange;
color: red;
font-size: 32px;
vertical-align: middle;
line-height: 28px;
}
/*第一个模态框的样式*/
#layout{
display: none;
width: 100%;
height: 100%;
}
/*使用flex布局水平竖直居中*/
/*#layout-box{
position: fixed;
width: 100%;
height: 100%;
left: 0;
top: 0;
display: flex;
display:-webkit-flex;
flex-flow: column nowrap;
justify-content: center;
align-items: center;
background-color: rgba(0,0,0,0.3);
}*/
/*使用postion和 transform水平垂直居中*/
#layout-box{
position: fixed;
width: 100%;
height: 100%;
background-color: rgba(0,0,0,0.3);
}
.modal-dialog{
position: absolute;
left: 50%;
top: 50%;
width: 500px;
height: 200px;
border-radius: 10px;
transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
-moz-transform: translate(-50%,-50%);
-o-transform: translate(-50%,-50%);
background-color:#fff;
}
.dialog-title{
text-align: center;
color:#333;
font-size: 28px;
margin-bottom: 10px;
}
.dialog-content{
text-align: center;
color:#666;
font-size: 18px;
}
.dialog-button{
margin-top: 20px;
width: 100%;
color:#333;
}
.dialog-button>.button-box{
display: inline-block;
width: 48%;
text-align: center;
}
.button-box span{
display: inline-block;
padding: 10px;
color:#fff;
border-radius: 6px;
cursor: pointer;
}
#confirm{
background-color:#27ad9a;
}
#cancel{
background-color: red;
}
/*添加按钮的样式*/
#add-button> i{
display: inline-block;
width: 32px;
height: 32px;
border-radius: 16px;
background-color:#27ad9a;
color:#fff;
font-size: 32px;
vertical-align: middle;
line-height: 28px;
text-align: center;
}
#add-button{
display: inline-block;
cursor: pointer;
}
/*第二个模态框的样式*/
.layout2{
display: none;
position: fixed;
width: 100%;
height: 100%;
left: 0;
top: 0;
background-color: rgba(0,0,0,0.2);
}
.modal-dialog2{
position: fixed;
left: 50%;
top: 50%;
width: 50%;
height: 50%;
border-radius: 10px;
transform: translate(-50%,-50%);
-webkit-transform: translate(-50%,-50%);
-moz-transform: translate(-50%,-50%);
-o-transform: translate(-50%,-50%);
background-color: rgba(0,0,0,0.2);
}
.modal-dialog2> span{
display: block;
}
.modal-text{
float: left;
}
#close{
color: red;
font-size: 24px;
float: right;
cursor: pointer;
}
</style>
<body>
<p id="delete-button"><i>-</i>删除</p>
<p id="layout">
<p id="layout-box">
<p class="bchome-cc29-7a02-64fd-a5b4 modal-dialog">
<p class="bchome-7a02-64fd-a5b4-a1fc dialog-title">提示</p>
<p class="bchome-64fd-a5b4-a1fc-f351 dialog-content">是否删除该项,点击确定</p>
<p class="bchome-a5b4-a1fc-f351-24b9 dialog-button">
<p class="bchome-a1fc-f351-24b9-0000 button-box">
<span id="confirm">确定</span>
</p>
<p class="bchome-f351-24b9-0000-248c button-box">
<span id="cancel">取消</span>
</p>
</p>
<p id="add-butto
文章分享结束,css 实例和css网页的几种布局实例的答案你都知道了吗?欢迎再次光临本站哦!