一、css布局口诀?
一、IE边框若显若无,须注意,定是高度设置已忘记;
二、浮动产生有缘故,若要父层包含住,紧跟浮动要清除,容器自然显其中;
三、三像素文本慢移不必慌,高度设置帮你忙;
四、兼容各个浏览须注意,默认设置行高可能是杀手;
五、独立清除浮动须铭记,行高设无,高设零,设计效果兼浏览;
六、学布局须思路,路随布局原理自然直,轻松驾驭html,流水布局少hack,代码清爽,兼容好,友好引擎喜欢迎。
七、所有标签皆有源,只是默认各不同,span是无极,无极生两仪—内联和块级,img较特殊,但也遵法理,其他只是改造各不同,一个*号全归原,层叠样式理须多练习,万物皆规律。
八、图片链接排版须小心,图片链接文字链接若对齐,padding和vertical-align:middle要设定,虽差微细倒无妨。
九、IE浮动双边距,请用display:inline拘。
十、列表横向排版,列表代码须紧靠,空隙自消须铭记。
二、如何布局关于HTML与CSS布局技巧?
@误人子弟 谢邀!这个问题范围实在挺广,不同网页整体结构不同,场景不同使用技巧也有不一样的。没想到这类问题还蛮多,等晚上下班了抽时间写一篇这方面的文章,有兴趣的可以先关注我看看!
----修改于2019.3.5,有点长,需要耐心观看
知乎上这类问题还挺多,我认为单就深入了解布局规范都足够说上一个月的,今天我就不论大范围,挑选小米网站首页的部分区块布局来讲解吧!
下面是小米官网的首页,很多人一看到这样的网页就傻眼,不知道咋弄,要么就随性布局,要么就干看着,其实遇到问题首先一点就是不要慌,先分析,将你认为难的问题拆分成多个问题区块,还解决不了就再拆分,直到变成能解决的小问题,一个个解决那些小问题最终大问题也就搞定了。咱们布局网页前也是一样套路,先分析整体的架构,画出布局图将大块拆分为小块,这样会更加直观看到网页的布局结构。我大致上用线框将网页内容划分为四个区块:顶部导航条区域topnav
(蓝色线框)、头部分类导航区域header
(绿色线框),主体内容区域main
(紫色线框)、网页底部信息区域foot
(橘色线框)。
(注意:在初学不知道如何布局时建议使用画图工具做辅助分析。且并非只有这一种区块划分方式,布局有很多种,我只从其中挑一种来写,讲不完=_=||
)
这里我是按照整体网页的内容进行区块划分的:(每个线框都为一个标签盒子)
topnav
(顶部导航区域):从整体布局来看,topnav展示的内容都是小米网站下所有类别的子产品导航,而小米网站的首页主题是商城(直接展示电子类产品),它跟主题不符,所以这块区域单独划分出来。整体区块使用nav
标签,考虑兼容性的话就使用div
标签。header
(头部分类信息导航区域):这块区域主要包含不同商品的分类导航和其他的服务导航,和主题也不太相符。轮播和轮播下方图片因为位置原因,打开该网页第一眼看见的就是这部分区块,即便其中也包含商品,但更多的是具有广告位的性质,这里就单独划分出header
区块。整体区块使用header
标签,考虑兼容性的话就使用div
标签。main
(主体内容区域):小米首页下小米商城的主题内容区域,也是整体网页面积最广的区块(实在不知道定主体内容区块时也可以根据面积比重来划分,最大的那块一定是主题中心),布局的重复性很高。整体区块使用main
标签,考虑兼容性的话就使用div
标签。footer
(网页底部信息区域):这部分几乎没啥好说的,展示的都是网站特色、网站信息,也单独划分一个块。整体区块使用footer
标签,考虑兼容性的话就使用div
标签。
代码如下:(考虑兼容IE)
<div id="pagewrap">
<div id="page-topnav"></div> <!--导航区域-->
<div id="page-header"></div> <!--头部分类信息导航区域-->
<div id="page-main"></div> <!--主体内容区域-->
<div id="page-footer"></div> <!--网页底部信息区域-->
</div>
这样咱们就将网页划分为四大块了,看起来难度是不是比之前要小一点了呢?那下一步就是将各个区块看做单个的整体,对它进行分析再拆分。
topnav布局分析
- 红色线框:顶部导航栏区域()
- 黄色线框:内容盒子
- 蓝绿色线框:左右两块列表区域
如下布局图所示,顶部导航栏区域中,内容盒子宽度在1226px,水平居中,其内部又分为左右两块列表区域和一个div
盒子(购物车),都包含着文字链接。
对应标签结构代码:
<div id="page-topnav">
<div class="container">
<ul class="topbar">
<li><a href="#">小米商城</a></li>
<li><a href="#">小米商城</a></li>
<li><a href="#">小米商城</a></li>
<li><a href="#">小米商城</a></li>
<li><a href="#">小米商城</a></li>
<li><a href="#">小米商城</a></li>
<li><a href="#">小米商城</a></li>
<li><a href="#">小米商城</a></li>
<li><a href="#">小米商城</a></li>
<li><a href="#">小米商城</a></li>
<li><a href="#">小米商城</a></li>
<li><a href="#">小米商城</a></li>
</ul>
<ul class="info">
<li><a href="#">登录</a></li>
<li><a href="#">登录</a></li>
<li><a href="#">登录</a></li>
</ul>
<div class="cart">
<a href="#">购物车</a>
</div>
</div>
</div>
<!--文字内容我懒的写,复制粘贴的,自己私下练习记得一个个敲-->
标签搭建好结构还需要搭配css来使用,这里顺便把相关的css技巧我也讲一些。 .container
(黄色线框)本身就是一个块级元素,不改变元素类型的前提下实现水平居中有以下几种方式:
- 第一种:(当前场景下推荐使用这种居中方式)
#page-topnav .container{
width:1226px;
margin:0 auto;
}
使用margin:auto实现自动计算达到水平居中,注意这种居中方式作用对象必须是块级标签,且有固定的宽度才可以实现
- 第二种:
#page-topnav .container{
position: relative;
left: 50%;
width: 1226px;
margin-left: -613px;
}
使用相对定位,通过设置left让.container
向右移动50%的相对距离,再利用负左外边距向左移动自身宽度的一半距离,达到水平居中的效果。参考下图:
两个左右ul
分别添加左浮动float:left;
和右浮动float:right;
就能实现左右对齐。
li
中的文本实现水平垂直居中的2种方式:
- 第一种:
.container .topbar li{
height: 40px; /*盒子高度*/
line-height: 40px; /*行高*/
font-size: 14px; /*文字大小*/
text-align: center; /*盒子内的文本水平居中*/
}
将文本的行高与li
盒子高度设为一致,达到文本垂直居中效果。
- 第二种:
.container .topbar li{
padding: 10px;
}
给li
添加内边距,实现文本上下左右居中效果,但会造成li
高度不固定。所以当前场景下推荐第一种方式
----先分享出来,希望帮到你,有问题可以扣我!临时有事写不完了,后续再更新----
三、简述css布局理念?
网页布局和设计都,就是 层次清晰,表达干脆。
四、css中基本布局?
css中基本的布局方式有以下几种:
1、静态布局
最传统的布局方式,网页中所有尺寸都是由px作为单位,设置了min-width,如果宽度小于就会出现滚动条,如果大于这个宽度则内容居中外加背景
2、自适应布局
可以看成是不同屏幕下由多个静态布局组成的。自适应布局是为不同的屏幕分辨率分别定义不同的布局。改变屏幕分辨率可以切换不同的静态布局(页面元素位置可能发生改变),但在每个静态布局中,页面元素不随窗口大小的调整发生变化。
自适应布局页面里面元素的位置会变化,很好的解决了流式布局中的大屏空间利用率不高弊端。屏幕分辨率变化时,页面里面元素的位置会变化而大小不会变化。
3、流式布局(又别名 百分比布局 %)
网页中主要的划分区域的尺寸使用百分数(搭配min-*、max-*属性使用),分别为不同的屏幕设置布局格式,当屏幕大小改变时,会出现不同的布局。
意思就是在这个屏幕下这个元素块在这个地方,但是在那个屏幕下,这个元素块又会出现在那个地方。只是布局改变,元素不变。可以看成是不同屏幕下由多个静态布局组成的。
4、响应式布局:媒体查询
通过响应式设计能使网站在手机和平板电脑上有更好的浏览阅读体验。屏幕尺寸不一样展示给用户的网页内容也不一样.利用媒体查询可以检测到屏幕的尺寸(主要检测宽度),并设置不同的CSS样式,就可以实现响应式的布局。主要依靠是css的媒体查询。
每个屏幕分辨率下面会有一个布局样式,即元素位置和大小都会变。
5、弹性布局 (rem/em flex布局)
五、css网页布局代码?
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>块元素与行内元素</title>
<style>
p{ background-color:pink;}
span{ background-color:yellow;}
i{ background-color:#CFF;}
div{ background-color:#FFC;}
</style>
</head>
<body>
<p>p标记——块元素</p>
<span>span标记——行内元素</span>
<i>i标记——行内元素</i>
<div >div标记——块元素</div>
</body>
</html>
六、什么是CSS模板?
css是层叠样式表,它是用来设置DIV的排版的,模板就是做好的框架 ,和css是不同的概念
七、div css布局是什么?
div+css布局是HTML通过div标签与css样式表开发制作网页的方法名称。CSS+DIV是网站标准中常用的术语之一,通常为了说明与HTML网页设计语言中的表格(table)定位方式的区别。
CSS+DIV是网站标准(或称“WEB标准”)中常用的术语之一,通常为了说明与HTML网页设计语言中的表格(table)定位方式的区别,因为XHTML网站设计标准中,不再使用表格定位技术,而是采用css+div的方式实现各种定位。
八、css flux布局的好处?
css flux布局的好处
css flex布局的优点:flex布局使用方便,根据flex规则很容易达到一定的布局效果。css flex布局的缺点:浏览器兼容性差,只能兼容i1.什么是flex布局?
官方声明:Flex是Flexible Box的缩写,意思是“灵活布局”,用于为Box模型提供最大的灵活性。任何容器都可以指定为灵活布局。
民间说法:flex是一种布局,类似于block、inline-block等。
Flex是一种布局方法,用于确保页面需要适应不同的屏幕大小和设备类型时,元素具有适当的行为。
flex Box模块旨在提供一种更有效的方法来制作、调整和分发容器中的项目布局(基于一维),即使它们的大小未知或动态。
优点:使用方便,根据flex规则很容易达到一定的布局效果。
缺点:浏览器兼容性比较差,只能兼容ie9及以上;
九、Div+Css布局教程?
层
相当于
布局方式不是很相同。
div+css
我的理解就是
就是用div+css构架设计。
我修改了部分,属于混合式
十、div css布局经典实例?
经典实例有Flexbox布局和Grid布局。Flexbox布局:是一种一维的布局模式,通过给容器添加 display: flex 属性来创建一个flex容器,然后通过设置子元素的flex属性来控制子元素的位置和大小。Grid布局:是一种二维布局模式,可以定义在一个父类容器中将其分成一些行和列,再将其中的子元素放置在指定的位置。通常使用display:grid属性定义网格布局。这两种布局都能够快速易懂地实现响应式布局。