
已解决问题
谷歌qimtkj2596用户在2016.04.26提交了关于“仰融CSS中的元素**方法详解”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2025-03-12T20:59:17。希望大家能够帮助她。详细问题描述及疑问:期待您的答案,谢谢你帮我,祝你快乐,愿你事事如意 !
详细问题描述及疑问:期待您的答案,谢谢你帮我,祝你快乐,愿你事事如意 !
1.盒模型
这些盒子们都
边框(border)。可以设置边框的宽窄、样式和颜
内边距(pad
外边距(margin)。可以设置盒子与
可
CSS为边框、内边距和外
示例:mar
注意:4个
全都写出来——如果哪
示例:margin:12px10px6px
说明:缺少最后一个值(左边),使用对边(右边)的值(10px),即:margin:12p
示例:margin:12px10px;
说明:
示
说明:只写一
1.1盒子边框
边框(border)有3
宽度
可以使用thin、medium和thick等文本值,也可以
除百分比和负
样式
有none、hidden、
rid
颜色
可以使用任意颜色值,包括RGB、h**SL、十六进制颜色值和颜色关键字。
1.2盒子内边距
内边距(padding)用来设置盒子内容区与边框的间距。在没有设定内边距的情况下,内容会紧挨着边框。
1.3盒子外边距
外边距(margin)用来设置盒子与相邻元素的间距。
推荐使用这条规则作为样式表的第一条规则:*{margin:0;padding:0;}
说明:这条规则把所有元素默认的外边距和内边距都设定为零。把这条规则放到样式表里后,所有默认的外边距和内边距都会消失。然后,你可以为那些真正需要外边距的元素再添加外边距。不同浏览器默认的内边距和外边距也不一样,特别是对表单和列表等复合元素。在这种情况下,用这条规则中和默认值,然后再根据需要添加,则会在各浏览器上获得一致的效果。
1.4叠加外边距
垂直方向上的外边距会叠加,这可是你必须得知道的一件事。
InCSS,theadjoiningmarginsoftwoormoreboxes(whichmightormightnotbesiblings)cancombinetoformasinglemargin.Marginsthatcombinethiswayaresaidtocollapse,andtheresultingcombinedmarginiscalledacollapsedmargin.
在CSS中,两个或多个毗邻(父子元素或兄弟元素)的普通流中的块元素垂直方向上的margin会发生叠加。这种方式形成的外边距即可称为外边距叠加(collapsedmargin)。
1.5外边距的单位
根据经验,为文本元素设置外边距时通常需要混合使用不同的单位。比如说,一个段落的左、右外边距可以使用像素,以便该段文本始终与包含元素边界保持固定间距,不受字号变大或变小的影响。而对于上、下外边距,以em为单位则可以让段间距随字号变化而相应增大或缩小。
示例:
CSSCode复制内容到剪贴板
p{font-size:1em;margin:.75em30px;}
2.浮动与**
浮动和**是用来组织页面布局的一柄利剑,这柄剑的剑刃就是float和clear属性。
2.1浮动
浮动,可以想象把元素从常规文档流中拿出来。浮动元素脱离了常规文档流之后,原来紧跟其后的元素就会在空间允许的情况下,向上提升到与浮动元素平起平坐。
如果浮动元素后面有两个段落,而你只想让第一段与浮动元素并列(就算旁边还能放第二段,也不想让它上来),可以使用clear属性来**第二段,然后它就会**地呆在浮动元素下面了。
浮动最常见的作用:
实现传统出版物上那种文字绕排图片的效果
让原来上下堆叠的块级元素,变成左右并列,从而实现布局中的分栏。
2.2围住浮动元素的三种方法
注意:三种方法各有利弊,看情况使用。
方法一:为父元素添加overflow:hidden
方法二:同时浮动元素
方法三:添加非浮动的**元素
3.**
CSS布局的核心是position属性,对元素盒子应用这个属性,可以相对于它在常规文档流中的位置重新**。position属性有4个值:static、relative、absolute、fixed,默认值为static。
3.1静态**
static
在静态**的情况下,每个元素都处于常规文档流中。要突破这种布局元素的方式,就必须把盒子的position属性改为其它三个值。
3.2相对**
relative
相对**,相对的是它原来在文档流中的位置(或者默认位置)。设置之后,可以使用top、right、bottom和left属性来改变它的位置。多数情况下,只用top和left就可以实现我们想要的效果。
使用相对**的关键就是要考虑到元素原来的空间。因为使用了相对**的元素只是相对于原始位置挪动了一下,页面没有任何变化,即元素原来占据的空间没有动,其他元素也没动。
3.3绝对**
absolute
绝对**会把元素彻底从文档流中拿出来,然后相对于其他元素(默认是**上下文body)**。同样可以通过top和left设定偏移值来决**置。
3.4固定**
fixed
从完全移出文档流的角度说,固定**与绝对**类似。但不同之处在于,固定**元素的**上下文是视口(浏览器窗口或手持设备的屏幕),因此它不会随页面滚动而移动。
提示:固定**并不常用,最常见的情况是用它创建不随页面滚动而移动的导航元素。
3.5**上下文
**上下文,指的是**元素所相对偏移的元素。
事实上,只要把元素的外边距和内边距设定好,多数情况下只用静态**就足以实现页面布局了。很多刚开始接触CSS的初学者都会错误地设定position属性,最终才发现从文档流中挪出来的这些元素一点也不好控制。因此,除非真需要那么做,否则不要轻易修改元素默认的position属性。
4.显示属性
所有元素都有position属性,也有display属性。
display属性有三个值:block、inline和none。
块级元素,比如段落,标题,列表等,在浏览器上下堆叠显示。
行内元素,比如a、span、img,在浏览器中左右并排显示,只有前一行没有空间时才会显示到下一行。
把块级元素变成行内元素(或者相反):
CSSCode复制内容到剪贴板
/*默认为block*/
p{display:inline;}
/*默认为inline*/
a{display:block;}
把元素的display设置为none,则该元素及所有包含在其中的元素,都不会在页面显示,它们原先占据的空间也不会被回收,就好像相关标记根本不存在一样。
与此相对的元素是visibility属性,属性值为:visible(默认值)和hidden。如果设置为hidden,元素会被隐藏,但其占据的页面空间会被保留。