Css:
1,cssd的权值: 标签的权值为1, 类选择符的权值为10,id的为100
注意:可以进行累加的
2,css的叠层规则:内联式>嵌入式>外部式
3,自己设置权值:!important 是写在分号的前面的
4,文字排版—字体:
font-family:"宋体";
font-family:"Microsoft Yahei"
文字排版—字号,颜色:
font-size:12px
color:#666
文字排版—粗体:
font-weight:bold
文字排版—斜体:
font-style:italic;}
文字排版—下划线:
{text-decoration:underline;
文字排版—删除线:
text-decoration:line-through;
5,段落排版--缩进
text-indent:2em;
段落排版—行间距(行高)
line-height:1.5em;
段落排版—中文字间距,字母间距
letter-spacing:50px; /*中文字间距*/
word-spacing:50px; /*英文字间距*/
段落排版—对齐
text-align:center;
text-align:left;
text-align:right;
css盒模型
- 元素分类:
--块状元素:
<div>、<p>、<h1>...<h6>、<ol>、<ul>、<dl>、<table>、<address>、<blockquote> 、<form>
--内联元素:
<a>、<span>、<br>、<i>、<em>、<strong>、<label>、<q>、<var>、<cite>、<code>
--内联块元素:
<img>、<input>
- 将元素设置为块级元素的方法:
display:block;
注意:块级元素独占一行,且可以设置元素的高度,宽度,行高一级和底边的距离,如果不设置,默认会和父容器的一样
将元素设置为内联元素的方法:高度不可设置
display:inline;
将元素设置为内联块状的方法:
display:inline-block
- 盒子模型:
块级标签都具备盒子模型,分为内填充(padding),外填充(margin),边框(border)
Padding分为:padding-top;
Padding-left;
Padding-bottom;
Padding-right;
- 盒子模型—边框
border-width:2px; /*边框的粗细*/
border-style:solid; /*边框的样式 dashed(虚线)| dotted(点线)| solid(实线)。 */
border-color:red; /*可以使用十六进制*/
border-bottom :下边框
border-top:上边框
border-right :右边框
border-left :左边框
- 盒子模型—宽度和高度
css中的with和height指的是 内容范围:
元素的实际的宽度=with+padding+border+margin
- 盒子模型—填充
padding-top:20px;
padding-right:10px;
padding-bottom:15px;
padding-left:30px;
- 盒子模型边界
margin-top:20px;
margin-right:10px;
margin-bottom:15px;
margin-left:30px;
CSS的布局模型
1,css中有三种布局模型:流动模型(Flow),浮动模型(Float),层模型(Layer)
2,流动模型
块状的元素自上而下的分布,内联的元素会从左到右的分布
浮动模型
float:right; /*右对齐*/
float:left; /*左对齐*/
例子
div{
width:200px;
height:200px;
border:2px red solid;
}
#div1{float:left;}
#div2{float:right;}
3,什么是层模型:有三种形式:
1、绝对定位(position: absolute)
2、相对定位(position: relative)
3、固定定位(position: fixed)
4,绝对定位
position:absolute;
left:100px;
top:50px;
4,相对定位:是相对于自己以前的位置的
position:relative;
left:100px;
top:50px;
4,固定定位:是相对于浏览器的
position:fixed;
left:100px;
top:50px;
4,组合使用
---参照定位的元素必须是相对定位元素的前辈元素:
<div id="box1"><!--参照定位的元素--> <div id="box2">相对参照元素进行定位</div><!--相对定位元素--> </div>
--参照定位的元素必须加入position:relative;
#box1{ width:200px; height:200px; position:relative; }
---定位元素加入position:absolute,便可以使用top、bottom、left、right来进行偏移定位了。
#box2{ position:absolute; top:20px; left:30px; }
CSS代码缩写
1,盒模型代码简写
还记得在讲盒模型时外边距(margin)、内边距(padding)和边框(border)设置上下左右四个方向的边距是按照顺时针方向设置的:上右下左。具体应用在margin和padding的例子如下:
margin:10px 15px 12px 14px;/*上设置为10px、右设置为15px、下设置为12px、左设置为14px*/
通常有下面三种缩写方法:
1、如果top、right、bottom、left的值相同,如下面代码:
margin:10px 10px 10px 10px;
可缩写为:
margin:10px;
2、如果top和bottom值相同、left和 right的值相同,如下面代码:
margin:10px 20px 10px 20px;
可缩写为:
margin:10px 20px;
3、如果left和right的值相同,如下面代码:
margin:10px 20px 30px 20px;
可缩写为:
margin:10px 20px 30px;
注意:padding、border的缩写方法和margin是一致的。
颜色值缩写
关于颜色的css样式也是可以缩写的,当你设置的颜色是16进制的色彩值时,如果每两位的值相同,可以缩写一半。
例子1:
p{color:#000000;}
可以缩写为:
p{color: #000;}
例子2:
p{color: #336699;}
可以缩写为:
p{color: #369;}
字体缩写
网页中的字体css样式代码也有他自己的缩写方式,下面是给网页设置字体的代码:
body{ font-style:italic; font-variant:small-caps; font-weight:bold; font-size:12px; line-height:1.5em; font-family:"宋体",sans-serif; }
这么多行的代码其实可以缩写为一句:
body{ font:italic small-caps bold 12px/1.5em "宋体",sans-serif; }
注意:
1、使用这一简写方式你至少要指定 font-size 和 font-family 属性,其他的属性(如 font-weight、font-style、font-varient、line-height)如未指定将自动使用默认值。
2、在缩写时 font-size 与 line-height 中间要加入“/”斜扛。
一般情况下因为对于中文网站,英文还是比较少的,所以下面缩写代码比较常用:
body{ font:12px/1.5em "宋体",sans-serif; }
只是有字号、行间距、中文字体、英文字体设置。
颜色值
在网页中的颜色设置是非常重要,有字体颜色(color)、背景颜色(background-color)、边框颜色(border)等,设置颜色的方法也有很多种:
1、英文命令颜色
前面几个小节中经常用到的就是这种设置方法:
p{color:red;}
2、RGB颜色
这个与 photoshop 中的 RGB 颜色是一致的,由 R(red)、G(green)、B(blue) 三种颜色的比例来配色。
p{color:rgb(133,45,200);}
每一项的值可以是 0~255 之间的整数,也可以是 0%~100% 的百分数。如:
p{color:rgb(20%,33%,25%);}
3、十六进制颜色
这种颜色设置方法是现在比较普遍使用的方法,其原理其实也是 RGB 设置,但是其每一项的值由 0-255 变成了十六进制 00-ff。
p{color:#00ffff;}
长度值
长度单位总结一下,目前比较常用到px(像素)、em、% 百分比,要注意其实这三种单位都是相对单位。
1、像素
像素为什么是相对单位呢?因为像素指的是显示器上的小点(CSS规范中假设“90像素=1英寸”)。实际情况是浏览器会使用显示器的实际像素值有关,在目前大多数的设计者都倾向于使用像素(px)作为单位。
2、em
就是本元素给定字体的 font-size 值,如果元素的 font-size 为 14px ,那么 1em = 14px;如果 font-size 为 18px,那么 1em = 18px。如下代码:
p{font-size:12px;text-indent:2em;}
上面代码就是可以实现段落首行缩进 24px(也就是两个字体大小的距离)。
下面注意一个特殊情况:
但当给 font-size 设置单位为 em 时,此时计算的标准以 p 的父元素的 font-size 为基础。如下代码:
html:
<p>以这个<span>例子</span>为例。</p>
css:
p{font-size:14px} span{font-size:0.8em;}
结果 span 中的字体“例子”字体大小就为 11.2px(14 * 0.8 = 11.2px)。
3、百分比
p{font-size:12px;line-height:130%}
设置行高(行间距)为字体的130%(12 * 1.3 = 15.6px)
CSS的样式的小技巧
- 水平居中设置---行内元素
如果被设置元素为文本、图片等行内元素时,水平居中是通过给父元素设置 text-align:center
- 水平居中设置---定宽块状元素
满足的条件:定宽,块状
设置的方式: 将左右margin 值设置为 auto
width:500px;/*定宽*/ margin:20px auto;/* margin-left 与 margin-right 设置为 auto */
3,水平居中设置--不定块状元素
- 加入 table 标签
- 设置 display;inline 方法
- 设置 position:relative 和 left:50%;
-----加入table标签,然后使用定宽块状元素的设计方法设置。
html代码:
<div><table> <tbody> <tr><td> <ul> <li><a href="#">1</a></li> <li><a href="#">2</a></li> <li><a href="#">3</a></li> </ul> </td></tr> </tbody> </table> </div>
css代码:
<style>table{ margin:0 auto; } ul{list-style:none;margin:0;padding:0;} li{float:left;display:inline;margin-right:8px;} </style>
------将块状元素设置为 行内元素 display:inline,然后使用text-align:center
html代码:
<body> <div class="container"> <ul> <li><a href="#">1</a></li> <li><a href="#">2</a></li> <li><a href="#">3</a></li> </ul> </div> </body>
css代码:
<style> .container{ text-align:center; } .container ul{ list-style:none; margin:0; padding:0; display:inline; } .container li{ margin-right:8px; display:inline; } </style>
-----将父元素设置为:position:relative; left:50%
将子元素设置为:position:relative; left:-50%
代码如下:
<body> <div class="container"> <ul> <li><a href="#">1</a></li> <li><a href="#">2</a></li> <li><a href="#">3</a></li> </ul> </div> </body>
css代码:
<style> .container{ float:left; position:relative; left:50% } .container ul{ list-style:none; margin:0; padding:0; position:relative; left:-50%; } .container li{float:left;display:inline;margin-right:8px;} </style>
这种方法可以保留块状元素仍以 display:block 的形式显示,优点不添加无语议表标签,不增加嵌套深度,但它的缺点是设置了 position:relative,带来了一定的副作用。
这三种方法使用得都非常广泛,各有优缺点,具体选用哪种方法,可以视具体情况而定。
4, 垂直居中
---父元素高度确定的单行文本
方法 :通过设置父元素的height和line-height 的高度一致来实现的
<div class="container"> hi,imooc! </div>
css代码:
<style> .container{ height:100px; line-height:100px; background:#999; } </style>
------父元素确定的多行文本
第一种方法:插入table (包括tbody、tr、td)标签,同时设置 vertical-align:middle。同时设置vertical-align 为 middle
注意:td 默认设置 vertical-align:middle
第二种方法:
在 chrome、firefox 及 IE8 以上的浏览器下可以设置块级元素的 display 为 table-cell,激活 vertical-align 属性,但注意 IE6、7 并不支持这个样式。
html代码:
<div class="container"> <div> <p>看我是否可以居中。</p> <p>看我是否可以居中。</p> <p>看我是否可以居中。</p> <p>看我是否可以居中。</p> <p>看我是否可以居中。</p> </div> </div>
css代码:
<style> .container{ height:300px; background:#ccc; display:table-cell;/*IE8以上及Chrome、Firefox*/ vertical-align:middle;/*IE8以上及Chrome、Firefox*/ } </style>
5隐性改变display类型
有一个有趣的现象就是当为元素(不论之前是什么类型元素,display:none 除外)设置以下 2 个句之一:
- position : absolute
- float : left 或 float:right
元素会自动变为以 display:inline-block 的方式显示,当然就可以设置元素的 width 和 height 了且默认宽度不占满父元素。
如下面的代码,小伙伴们都知道 a 标签是行内元素,所以设置它的 width 是 没有效果的,但是设置为 position:absolute 以后,就可以了。
<div class="container"> <a href="#" title="">进入课程请单击这里</a> </div>
css代码
<style> .container a{ position:absolute; width:200px; background:#ccc; } </style>
Css如果打不开,可以使用【右键】--【属性】--【解除锁定】
---------------------------------------------------------------------