学习啦——学设计>网页设计>网站建设>网站前端技术>

CSS元素如何了解定位方法_CSS元素定位有什么方法

时间: 宇民40 分享

  CSS有三种基本的定位机制:普通流、浮动和绝对定位。下面由学习啦小编为大家整理的CSS元素定位方法,希望大家喜欢!

  CSS元素定位方法

  盒子属性分三组:

  边框(border)。可以设置边框的宽窄、样式和颜色。

  内边距(padding)。可以设置盒子内容区与边框的间距。

  外边距(margin)。可以设置盒子与相邻元素的间距。

  可以这么理解盒子属性:外边距是边框向 外推 其他元素,而内边距是从边框向 内推 元素的内容。

  CSS 为边框、内边距和外边距分别规定了简写属性。在每个简写声明中,属性值的顺序都是上、右、下、左(顺时针旋转)。

  示例:margin:5px 10px 12px 8px;

  注意:4 个值之间有空格,但不能是其他分隔符(比如逗号之类的)。甚至,你都不用把 4 值

  全都写出来——如果哪个值没有写,那就使用对边的值。

  示例:margin:12px 10px 6px;

  说明:缺少最后一个值(左边),使用对边(右边)的值(10px),即:margin:12px 10px 6px 10px。

  示例:margin:12px 10px;

  说明:缺少最后两个值(下边和左边),使用上边(12px)和右边(10px),即:margin:12px 10px 12px 10px;

  示例:margin:12px;

  说明:只写一个值,那么4个边都去这个值。即:margin:12px 12px 12px 12px;

  1.1 盒子边框

  边框(border)有3个相关属性:

  宽度

  可以使用 thin、medium 和 thick 等文本值,也可以使用

  除百分比和负值之外的任何绝对值。

  样式

  有 none、hidden、 dotted、 dashed、 solid、 double、 groove、

  ridge、 inset 和 outset 等文本值。

  颜色

  可以使用任意颜色值,包括 RGB、 HSL、十六进制颜色 值和颜色关键字。

  1.2 盒子内边距

  内边距(padding)用来设置盒子内容区与边框的间距。在没有设定内边距的情况下,内容会紧挨着边框。

  1.3 盒子外边距

  外边距(margin)用来设置盒子与相邻元素的间距。

  推荐使用这条规则作为样式表的第一条规则:* {margin:0; padding:0;}

  说明:这条规则把所有元素默认的外边距和内边距都设定为零。把这条规则放到样式表里后,所有默认的外边距和内边距都会消失。然后,你可以为那些真正需要外边距的元素再添加外边距。不同浏览器默认的内边距和外边距也不一样,特别是对表单和列表等复合元素。在这种情况下,用这条规则 中和 默认值,然后再根据需要添加,则会在各浏览器上获得一致的效果。

  1.4 叠加外边距

  垂直方向上的外边距会叠加,这可是你必须得知道的一件事。

  In CSS, the adjoining margins of two or more boxes (which might or might not be siblings) can combine to form a single margin. Margins that combine this way are said to collapse, and the resulting combined margin is called a collapsed margin.

  在CSS中,两个或多个毗邻(父子元素或兄弟元素)的普通流中的块元素垂直方向上的 margin 会发生叠加。这种方式形成的外边距即可称为外边距叠加(collapsed margin)。

  1.5 外边距的单位

  根据经验,为文本元素设置外边距时通常需要混合使用不同的单位。比如说,一个段落的左、右外边距可以使用像素,以便该段文本始终与包含元素边界保持固定间距,不受字号变大或变小的影响。而对于上、下外边距,以 em 为单位则可以让段间距随字号变化而相应增大或缩小。

  示例:

  CSS Code复制内容到剪贴板

  p {font-size:1em; margin:.75em 30px;}

  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 属性。

  CSS网页渲染的方法

  1、十六进制的颜色值对位数与大小写

  编写十六进制颜色值时你可能会用小写字母或省略成3位数,关于这写法没找到确实的数据证明对浏览器的渲染效率是否有影响,但十六进制的颜色值默认标准是大写及6位数标注。在未知情况下不希望冒险而降低了渲染的效率。

  * 不赞成 - color:#f3a;

  * 建议用 - color:#FF33AA;

  2、display与visibility的差异

  他们用于设置或检索是否显示对象。display隐藏对象不保留物理空间,visibility为隐藏对象保留占据的物理空间。当浏览器渲染被占据的物理空间时,会有所消耗资源。

  * 不赞成 - visibility:hidden;

  * 建议用 - display:none;

  3、border:none;与border:0;的区别

  和display与visibility的关系类似,分别不保留与保留空间。更多的是border:0;尽管可以隐藏掉边框,但它会为你保留border-color/border-style的使用权。

  * 不赞成 - border:0;

  * 建议用 - border:none;

  4、不宜用过小的背景图片平铺

  一张宽高1px的背景图片,虽然文件体积非常之小,但渲染宽高500px的板块需要重复平铺2500次。提高背景图片渲染效率跟图片尺寸及体积有关,最大的图片文件体积保持约70KB。

  * 不赞成 - 宽高8px以下的平铺背景图片

  * 建议用 - 衡量适中体积及尺寸的背景图片

  5、慎用IE滤镜

  IE的滤镜除了比较消耗资源外也有兼容性问题。当中有让PNG透明的滤镜,可采用GIF或JPG似透非透的办法来避免使用此滤镜。建议只在IE6应用GIF透明,因为IE7以上已经支持了PNG透明。

  * 不赞成,滥用IE滤镜因为消耗资源外也有兼容性问题。

  * 建议用,最好选择其它方法能避免使用滤镜。

  6、*{ margin:0; padding:0;}避免浏览器样式差异

  *号通配符把所有标签都初始化一遍,浏览器的渲染消耗一定的资源。有部分在标签在不同浏览器上几乎无差异,或是某些已经不推荐使用的标签(因为你不会去用它),它们不需通配符要重新初始化一遍这样做能节省一点资源。

  * 不赞成,使用*号通配符

  * 不赞成,div span button b table等标签纳入通配符控制内外填充样式

  * 建议用,有选择性地使用通配符控制内外填充样式。

  7、不要添加额外的标签来描述class或id

  如果你有一个选择器是以id作为关键选择符,请不要添加多余标签名上去。因为ID是唯一的,你不要为了一个不存在的理由而降低了匹配的效率。

  * 不赞成 - button#backButton { }

  * 不赞成 - .menu-left #newMenuIcon { }

  * 建议用 - #backButton { }

  * 建议用 - #newMenuIcon { }

  8、尽量选择最特殊的类来存放选择器

  降低系统效率的一个最大原因是我们在标签类中用了过多的选择符。通过添加 class 到元素,我们可以将类别进行再细分为 class 类,这样就不用为了一个标签浪费时间去匹配过多的选择符了。

  * 不赞成 - treeitem[mailfolder="true"] > treerow > treecell { }

  * 建议用 - .treecell-mailfolder { }

  9、避免子孙选择符

  子孙选择符是CSS中最耗资源的选择符。他真的是非常的耗资源,尤其是在选择器使用标签类或通用类的时候。很多情况中,我们真正想要的是子选择符。除非有明确说明,在 UI CSS 中是严禁使用子孙选择符的。

  * 不赞成 - treehead treerow treecell { }

  * 好一点,但还是不行(参照下一条) - treehead > treerow > treecell { }

  10、标签类中不要包含子选择符

  不要在标签类中使用子选择符。否则,每次元素的出现,都会额外地增加匹配时间。(特别是当选择器似乎多半会被匹配的情况下)

  * 不赞成 - treehead > treerow > treecell { }

  * 建议用 - .treecell-header { }

  CSS如何实现文字竖排

  1. writing-mode(设置对象书写方向)

  语法:writing-mode : lr-tb、tb-rl

  参数:lr-tb:从左向右,从上往下  tb-rl:从上往下,从右向左

  示例:

  CSS Code复制内容到剪贴板

  div { writing-mode: tb-rl; }

  2. text-align(设置对象中文本的对齐方式)

  语法:text-align : left、right、center、justify

  参数:left:左对齐

  right:右对齐

  center:居中

  justify:两端对齐

  示例:

  CSS Code复制内容到剪贴板

  div { text-align : center; }

  而通常普通的排版思路:对文字对象宽度设置只能排下一个文字的宽度距离,让文字一行排不下两个文字使其文字自动换行,就形成了竖立排版需求。

CSS元素如何了解定位方法_CSS元素定位有什么方法

CSS有三种基本的定位机制:普通流、浮动和绝对定位。下面由学习啦小编为大家整理的CSS元素定位方法,希望大家喜欢! CSS元素定位方法 盒子属性分三组: 边框(border)。可以设置边框的宽窄、样式和颜色。 内边距(padding)。可以设置盒子内容区与边框的间距。
推荐度:
点击下载文档文档为doc格式

精选文章

26817