前端开发应该知道的几个CSS网页表单布局技巧

html-css09

前端开发应该知道的几个CSS网页表单布局技巧,第1张

1、绝对定位

在绝大过程中,想确定一个元素在网站当中的固定位置,绝对定位是实现这个方式的解决办法。在网页当中,绝对定位可精确的控制元素在网页当中的位置,我们可使用顶部、底部、左侧和右侧,附上一个像素值来控制元素所在的位置。

position:absolutetop:50pxright:50px

上面的CSS设置一个元素的位置从浏览器的顶部和右边保持50px。你也可以在div内使用绝对定位。

2、覆盖所有样式

写CSS的时候都应该知道,当你想给一个元素添加一个新的CSS样式,但这个样式之前已经被定义过了。此时我们可以采用!important来定义。

例如,如果我想在我的网站的特定部分的H3标题是红色而不是黄色,可以使用下面的CSS:

.section h3 {color:red !important}

3、居中

居中分很多情况,一般会分成文本居中和DIV的内容居中。

文本居中

文本居中使用text-align:center。如果想让文本在左右两侧,可以使用左侧或右侧。

DIV内容

DIV内容居中跟文本居中不一样。CSS可以这样定义:

#div1 { display: blockmargin: autowidth: anything under 100% }

把宽度设置为“100%以下”的原因是因为如果它是100%宽度,那么如果是全宽度,并且不需要居中。最好有一个固定的宽度,如60%或550像素等。

4、垂直对齐(对于一行文本)

要使菜单的高度和文本的行高一致,可以这么设置:

.nav li{line-height:50pxheight:50px}

5、悬停效果

这适用于按钮,文本链接,网站的部分,图标等等。如果你想做一个悬停效果,可以试试:

.entry h2{font-size:36pxcolor:#000font-weight:800} .entry h2:hover{color:#ffeb3b}

这个功能可以让你的h2标签的颜色从黑色变成黄色。

6、悬停效果过渡

对于悬停效果,如使用菜单或网站上的图像,我们肯定不希望颜色快速贴近结果,所以我们可以通过使用时间变化来达到过渡的效果。

.entry h2:hover{color:#ffeb3btransition: all 0.5s ease}

这就使得样式上的改变,可以是从黑色变黄色的过渡时间是0.5秒,而不是立即变成黄色。这使得悬停效果更加和谐而不会显得太突兀。

7、a标签的状态

我们在遇到a标签的时候,一定要给a标签做样式定义,否则特别容易造成用户在使用上的困惑。通过样式可以让用户知道这个链接是否被点击过,更利于用户体验。

a:link {color: blue} a:visited {color: red}

8、轻松调整图像大小以适应

说到这个样式,我之前不知道可以通过以下方式达到图片的自适应效果。作为一个新手,我相信这个效果肯定有很多人都想做,当然,我提供的方法也只是其中的一种:

img {max-width:100%height:auto}

这个样式意味着最大的图像可能是100%,并根据图像宽度自动计算高度。在某些情况下,您可能还必须指定宽度为100%。

9、父级元素和子元素

如果ni不希望选择任意的后代元素,而是希望缩小范围,只选择某个元素的子元素,请使用子元素选择器:

h1 >strong {color:red}

特殊情况下你可能会想定义第N个子元素的样式,这样就可以用到下面这个样式:li:nth-child(n)

具体的使用方法可以去w3school上看。

10、将CSS应用于多个类或选择器

如果你想要在所有图片,博客部分和侧边栏上添加相同的边框。你不必写出相同的CSS样式重复3次。只需列出这些项目,用逗号分隔:

.blog,img,.sidebar {border: 1px solid #000}

1.静态布局

——最传统的布局方式,网页中所有尺寸都是由px作为单位,设置了min-width,如果宽度小于就会出现滚动条,如果大于这个宽度则内容居中外加背景

实现方式:PC:居中布局,所有样式使用绝对宽度/高度(px),设计一个Layout,在屏幕宽高有调整时,使用横向和竖向的滚动条来查阅被遮掩部分;

移动设备:另外建立移动网站,单独设计一个布局,使用不同的域名如wap.或m.。

优点:采用之前的css2的布局·方式,布局简单,没有兼容性问题。

缺点: 在手机端不能合理的显示,移动端不能使用pc端页面,需要再写一个布局来呈现。

实践案例:Float 布局、绝对布局

2.自适应布局

——可以看成是不同屏幕下由多个静态布局组成的。自适应布局是为不同的屏幕分辨率分别定义不同的布局。改变屏幕分辨率可以切换不同的静态布局(页面元素位置可能发生改变),但在每个静态布局中,页面元素不随窗口大小的调整发生变化。自适应布局页面里面元素的位置会变化,很好的解决了流式布局中的大屏空间利用率不高弊端。

注:屏幕分辨率变化时,页面里面元素的位置会变化而大小不会变化。

3.流失布局(百分比布局 %)

网页中主要的划分区域的尺寸使用百分数(搭配min-*、max-*属性使用),分别为不同的屏幕设置布局格式,当屏幕大小改变时,会出现不同的布局,意思就是在这个屏幕下这个元素块在这个地方,但是在那个屏幕下,这个元素块又会出现在那个地方。只是布局改变,元素不变。可以看成是不同屏幕下由多个静态布局组成的。

而流式布局的特点是随着屏幕的改变,页面的布局没有发生大的变化,可以进行适配调整,这个正好与自适应布局相补。使用%百分比定义宽度,高度大都是用px来固定住,可以根据可视区域 (viewport) 和父元素的实时尺寸进行调整,尽可能的适应各种分辨率。往往配合 max-width/min-width 等属性控制尺寸流动范围以免过大或者过小影响阅读。这种布局方式在Web前端开发的早期历史上,用来应对不同尺寸的PC屏幕(那时屏幕尺寸的差异不会太大),在当今的移动端开发也是常用布局方式,但缺点明显:主要的问题是如果屏幕尺度跨度太大,那么在相对其原始设计而言过小或过大的屏幕上不能正常显示。因为宽度使用%百分比定义,但是高度和文字大小等大都是用px来固定,所以在大屏幕的手机下显示效果会变成有些页面元素宽度被拉的很长,但是高度、文字大小还是和原来一样(即,这些东西无法变得“流式”

注:屏幕分辨率变化时,页面里元素的大小会变化而但布局不变。

主要实践案例:左侧固定+右侧自适应、左右固定宽度+中间自适应、圣杯布局、双飞翼布局

4.响应式布局(媒体查询)

——通过响应式设计能使网站在手机和平板电脑上有更好的浏览阅读体验。屏幕尺寸不一样展示给用户的网页内容也不一样.利用媒体查询可以检测到屏幕的尺寸(主要检测宽度),并设置不同的CSS样式,就可以实现响应式的布局。主要依靠是css的媒体查询。

注:每个屏幕分辨率下面会有一个布局样式,即元素位置和大小都会变。

5.弹性布局

——rem/em、flex布局

1、布局时遵循从整体到局部的原则。可以尝试先设计出各个div块之间的关系,包含或者并列。

2、并列的块时,可使用float属性,使用float时要保证这两个块的宽度之和小于其父级块,否则会出现折行。

3、在应用了float属性的块时,该块已脱离正常文档流,所以其下的块会当其不存在一样,此时需要clear