Css 小技巧总结

相对偏移 指定left top等属性就能够够完美控制一个元素的位置

如:

position:relative; left:2px;

今天遇到一个很好玩的问题,当两个并排浮动框,当一个框的长度太大时就会把另一个框顶到下一行,这个时候就可以用margin-right:-2px;将右外距设置为负数来解决!

css写表达式控制图片大小,当图片大小大于某一数值时,强制设置其宽 高为指定大小。

img { max-width: 163px; width:expression(this.width > 163 ? "163px":this.width); height:expression(this.width > 163 ? "163px":this.width); }

css <li> 横排显示,并指定宽度的方法。当直接用display:inline 的时候,<li>是横排了,但是指定不了<li>的宽度,这样在<li>有背景图片的时候不能够控制背景图片的偏离位置。这时候可以用display:block; float:left; 这样<li>依然是横排显示,而且还能够指定宽度,能够任意控制背景图片的位置了。

<li>的元素如何垂直对齐

首先设置li的高度 height:25px,如果你不设置line-height的话,他将top对齐,最好的办法是设置line-height的高度与li的高度一致,这样的话,文字在里的对齐方式就是垂直居中对齐的了。因为,文字在line-height的高度范围内是垂直对齐。

在切PSD图片的时候,虽然切迟来的是需要透明的,但是在切的过程中,适当将背景显示,能够清楚地看见图片的阴影,半透明的位置,切得才更加精准。

css选择器优先级排序

写在前面>写在后面>行内样式>ID选择器>class选择器>dom选择器

/* 交集选择器 只对P且class为pp1的元素有效 */
p.pp1{ color:White; }

/* 并集选择器 所有选择到的元素都有效 */
.p1, .span1{ background-color:black; color:White; }

/* 直接后代选择器,用空格分开 这种空格为分隔符只影响所有后代元素 */
p b{ font-weight:700; }
/* 大于号,只影响直接后代元素 */
p>b{ font-weight:700; background-color:Maroon; }

一个盒子实际所占有的宽度是由 内容+内边距+外边距+边框组成。   注意border也是要占用宽度的。

border none与hidden都不显示边框,二者效果相同,只是运用在表格中时,hidden可以解决冲突问题。

当一个盒子设置了背景图片,背景图片覆盖的范围是padding和内容组成的范围(IE是这样,Firefox是padding + content _ border),并以padding的左上角为基准点平铺图像。

块级元素(block)会占一行,不管内容满不满一行。如:<ul li> <div>

行内元素(inline)占用的元素仅仅为内容的长度,当多个元素的内容都不满一行时,会自动显示在同一行。如:<span><a>

行内元素之间的水平margin为左边距+右边距(左边元素的margin-left + 右边元素的margin-right)。

块级元素之间的竖直margin为两者的较大者(上面的margin-bottom与下面的margin-top的较大者).

嵌套盒子之间的距离为子元素的margin+父元素的padding

附:HTML 块级元素与行内元素

块元素(block element) HTML标签分类明细

* address - 地址 
    * blockquote - 块引用 
    * center - 举中对齐块 
    * dir - 目录列表 
    * div - 常用块级容易,也是css layout的主要标签 
    * dl - 定义列表 
    * fieldset - form控制组 
    * form - 交互表单 (只能用来容纳其它块元素) 
    * h1 - 大标题 
    * h2 - 副标题 
    * h3 - 3级标题 
    * h4 - 4级标题 
    * h5 - 5级标题 
    * h6 - 6级标题 
    * hr - 水平分隔线 
    * isindex - input prompt 
    * menu - 菜单列表 
    * noframes - frames可选内容,(对于不支持frame的浏览器显示此区块内容 
    * noscript - 可选脚本内容(对于不支持script的浏览器显示此内容) 
    * ol - 排序表单 
    * p - 段落 
    * pre - 格式化文本 
    * table - 表格 
    * ul - 非排序列表

内联元素(inline element) HTML标签分类明细

* a - 锚点 
    * abbr - 缩写 
    * acronym - 首字 
    * b - 粗体(不推荐) 
    * bdo - bidi override 
    * big - 大字体 
    * br - 换行 
    * cite - 引用 
    * code - 计算机代码(在引用源码的时候需要) 
    * dfn - 定义字段 
    * em - 强调 
    * font - 字体设定(不推荐) 
    * i - 斜体 
    * img - 图片 
    * input - 输入框 
    * kbd - 定义键盘文本 
    * label - 表格标签 
    * q - 短引用 
    * s - 中划线(不推荐) 
    * samp - 定义范例计算机代码 
    * select - 项目选择 
    * small - 小字体文本 
    * span - 常用内联容器,定义文本内区块 
    * strike - 中划线 
    * strong - 粗体强调 
    * sub - 下标 
    * sup - 上标 
    * textarea - 多行文本输入框 
    * tt - 电传文本 
    * u - 下划线 
    * var - 定义变量

可变元素  HTML标签分类明细

* applet - java applet   
    * button - 按钮   
    * del - 删除文本   
    * iframe - inline frame   
    * ins - 插入的文本   
    * map - 图片区块(map)   
    * object - object对象   
    * script - 客户端脚本

float:inherit;从父元素中继承float属性;

clear:left/right;消除左/右浮动盒子对本盒子的影响。 clear:both;清除两侧浮动对本盒子的影响。

绝对定位position:absolute; 对其他盒子完全没影响,相当于从HTML代码中抽取了出来,会覆盖在其上面。其位置的设定是,当其有定位属性父元素(有position属性,且position属性不为static),以其父属性为定位基准,如果没有则以浏览器为定位基准。当两个块级元素设置为abosolute属性时,可以通过设置z-index属性的值来决定哪一个元素显示i在上面,值大的显示在上面。

!important 提升优先级,使该条语句不会被后面的语句覆盖。

IE6能识别*,但不能识别 !important, 
IE7能识别*,也能识别!important; 
FF不能识别*,但能识别!important;
另外再补充一个,下划线"_", 
IE6支持下划线,IE7和firefox均不支持下划线。

1em表示其父元素中字母m标准宽度。1ex则表示字母x的标准高度。  注意是跟父元素比。

font-size:4em; line-height:1.5; float:left;   这样的设置,可以使第一个字母,占三行显示。

text-indent:2em;可以设置为首行速进2父元素的大小个字位置。

verticla-align 垂直对齐方式,一般只是竖直方向上有效。如果文字放在DIV中不会有效果。如果文字只有一行,只要设置line-height与height一样就可以实现居中对齐。

技巧1 背景颜色设置得与渐变背景图片的最下面颜色一样,就可以实现整个页面无论多长都有和谐的效果。

PNG图片的位越小,文件体积越小。但是8位与24位在IE6中并不支持透明。

通过设置a 的 display:block就可以实现鼠标移入块内就变手形,而不是移动到文字上才行。

为了防止鼠标指针经过时造成边框的跳动,可以再通常状态添加于背景色相同边框,在移动时才变色。

Css 小技巧总结

时间: 2024-10-13 10:29:36

Css 小技巧总结的相关文章

CSS小技巧

CSS 小技巧 总结的网络上的资源,以备自己后续参考... 使用:not()去除导航上不需要的边框 为body添加行高 垂直居中任何元素 逗号分离的列表 使用负nth-child选择元素 使用SVG图标 文本显示优化 在纯CSS幻灯片上使用max-height 继承box-sizing 表格单元格等宽 使用Flexbox摆脱边界Hack 使用属性选择器选择空链接 使用:not()添加/去除导航上不需要的边框 添加边框… /* 添加边框 */ .nav li { border-right: 1px

css小技巧(1)

1.-webkit-overflow-scrolling: touch; 解决ios滑动时无缓冲问题 2.::-webkit-scrollbar 设置ios滑动时是否显示滚动条 3.::selection 选中文字时文字颜色和选中色 <!doctype html> <html> <head> <meta charset="utf-8"> <meta content="width=device-width,initial-s

前端开发者应该知道的 CSS 小技巧

一些小技巧让你的CSS技术更专业 使用:not()去除导航上不需要的边框 为body添加行高 垂直居中任何元素 逗号分离的列表 使用负nth-child选择元素 使用SVG图标 文本显示优化 在纯CSS幻灯片上使用max-height 继承box-sizing 表格单元格等宽 使用Flexbox摆脱边界Hack 使用属性选择器选择空链接 使用:not()添加/去除导航上不需要的边框 添加边框… CSS 1 2 3 4 5 /* 添加边框 */ .nav li { border-right: 1p

作为一枚web前端开发工程师 这些CSS 小技巧你值得掌握

http://web.jobbole.com/85142/ 使用:not()去除导航上不需要的边框 为body添加行高 垂直居中任何元素 逗号分离的列表 使用负nth-child选择元素 使用SVG图标 文本显示优化 在纯CSS幻灯片上使用max-height 继承box-sizing 表格单元格等宽 使用Flexbox摆脱边界Hack 使用属性选择器选择空链接 使用:not()添加/去除导航上不需要的边框 添加边框- CSS 1 2 3 4 5 /* 添加边框 */ .nav li { bor

前端知识 | CSS小技巧-自适应椭圆

背景知识: border-radius 属性的基本用法. 难题: 你可能注意到过,给任何正方形元素设置一个足够大的 border-radius,就可以把它变成一个圆形.所用到的 CSS 代码如下所示: 图1.1给元素设置固定宽高以及一半长度的 border-radius,可以得到一个圆形 你可能还注意到了,如果指定任何大于 100px 的半径,仍然可以得到一个圆形.规范特别指出了这其中的原因: "当任意两个相邻圆角的半径之和超过 borderbox 的尺寸时,用户代理必须按比例减小各个边框半径所

CSS小技巧使用

1.清除浮动 浮动给我们的代码带来的麻烦,想必不需要多说,我们会用很多方式来避免这种麻烦,其中我觉得最方便也是兼容性最好的一种是....// 清除浮动 .clearfix{ zoom: 1; } .clearfix:after{ display: block; content: ''; clear: both; } 2.垂直水平居中 在css的世界里水平居中比垂直居中来的简单一些,经过了多年的演化,依然没有好的方式来让元素垂直居中(各种方式各有优缺点,但都不能达到兼容性好,破坏力小的目标),以下

前端常用CSS小技巧

注意:以下前缀兼容性写法注释-o-:Opera-ms://IE10-moz://火狐-webkit://Safari 4-5, Chrome 1-9 1. 去除 iOS移动端 input,textarea输入框聚焦时上方内阴影样式 input, textarea, select{ appearance: none; -moz-appearance: none; //Firefox -webkit-appearance: none; //Safari 和 Chrome } appearance属性

CSS小技巧收藏

居中对齐 很多时候我们需要把一个元素在其父级容器里水平.垂直居中对齐.以下我列出了常用的几种方法: 1.在知道子元素宽度与高度的情况下进行居中,采用位置定位:absolute + margin .parent { position: relative; } .child { position: absolute; width: 100px; height: 60px; top: 50%; left: 50%; margin: -30px 0 0 -50px; } 2.在不知道子元素高与宽的情况下

Web前端开发基础 第四课(CSS小技巧)

水平居中设置-行内元素 我们在实际工作中常会遇到需要设置水平居中场景,今天我们就来看看怎么设置水平居中的. 如果被设置元素为文本.图片等行内元素时,水平居中是通过给父元素设置 text-align:center 来实现的.如下代码: html代码: <body> <div class="txtCenter">我是文本,哈哈,我想要在父容器中水平居中显示.</div> </body> css代码: <style> div.txt