【前端进阶100天】Day03 CSS属性组成和作用
今日内容:
1、css属性和属性值的定义
2、css文本属性
3、css列表属性
4、css边框属性
5、css背景属性
6、css浮动属性
一、css属性和属性值的定义
属性:属性是指定选择符所具有的属性,它是css的核心,css2共有150多个属性
属性值:属性值包括法定属性值及常见的数值加单位,如25px,或颜色值等。
二、CSS文本属性
1、文本大小:{font-size:value;}
说明:
(1) 属性值为数值型时,必须给属性值加单位,属性值为0时除外。
(2)单位还可以是pt,9pt=12px;
(3)为了减小系统间的字体显示差异,IE Netscape Mozilla的浏览器制作商于1999年召开会议,共同确定16px/ppi为标准字体大小默认值,即1em。默认情况下:1em=16px;0.75em=12px。
1em相当于父级字体大小。
(4)使用绝对大小关键字
xx-small =9px
x-small =11px
small =13px
medium =16px
large =19px
x-large =23px
xx-large =27px
2、文本颜色:{color:颜色值;}
a)color:red/blue/green;单词
b)color:rgb(0,0,0); RGB
c)color:#fff/#999/#666;十六进制
工作中比较常用的是十六进制和rgb
说明:
用十六进制(是计算机中数据的一种表示方法)表示颜色值:
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9 A B C D E F
颜色模式:光色模式
R G B
FF 00 00
颜色值的缩写:
当表示三原色的三组数字同时相同时,可以缩写为三位;
当用十六进制表示颜色值时,需要在颜色值前加“#”
# fa 00 00
3、文本字体:{font-family:字体1,字体2,字体3;}
说明:
浏览器首先会寻找字体1,如存在就使用该字体来显示内容,如在字体1不存在的情况下,则会寻找字体2,如字体2也不存在,按字体3显示内容,如果字体3 也不存在;则按系统默认字体显示;
当字体是中文字体时,需加双引号;
当英文字体中有空格时,需加双引号如(“Times New Roman”)
当英文字体只有一个单词组成是不加双引号;如:(Arial);
Windows中文版本操作系统下,中文默认字体为宋体或者新宋体,英文字体默认为Arial。
谷歌浏览器默认字体是微软雅黑。
4、文字加粗
font-weight:bolder(更粗的)/bold(加粗)/normal(常规)/100—900;
说明:
在css规范中,把字体的粗细分为9个等级,分别为100——900,其中100对应最轻的字体变形,而900对应最重的字体变形,
100-400:一般;500:常规字体;600-900:加粗字体;无单位,整数。
默认有加粗的标签:b strong h1-h6
5、文字倾斜
font-style:italic/oblique/normal(取消倾斜,常规显示);
说明:
italic和oblique都是向右倾斜的文字, 但区别在于Italic是指斜体字,而Oblique是倾斜的文字,对于没有斜体的字体应该使用Oblique属性值来实现倾斜的文字效果。
6、水平对齐方式
{text-align:left/right/center/justify;}
两端对齐对中文/纯数字/纯字母不起作用
只对英文有效
会填满整个块
识别空格
只对行内元素和行内块元素有效。
text-align对inline-block行内块元素例如有效,对行内元素例如也有效,给父级添加text-align:center可实现水平居中;对于有宽度的块元素,需要添加margin:0 auto;实现水平居中。
7、文字行高
{line-height:normal/value;}
image
行高:文字高度+行距。
每一行文本有上行距和下行距
行高:两行文本
第一行文本高度一半和第二行文本高度一半加行距
行距是第一行文本和第二行文本所共有的
normal:默认值
number:设置数字,此数字会与当前的字体尺寸相乘来设置行间距。
line-height:3===font-size*3
line-height:300%===font-size*3
length:设置固定的行间距。
%:基于当前字体尺寸的百分比行间距。
说明:
当单行文本的行高等于容器高时,可实现单行文本在容器中垂直方向居中对齐;
当单行文本的行高小于容器高时,可实现单行文本在容器中垂直中齐以上;
当单行文本的行高大于容器高时,可实现单行文本在容器中垂直中齐以下(IE6及以下版本存在浏览器兼容问题)
font属性的简写:
说明:font的属性值应按以下次序书写(各个属性之间用空格隔开)
顺序: font-style font-weight font-size / line-height font-family
注意:
(1)简写时 , font-size和line-height只能通过斜杠/组成一个值,不能分开写。
(2) 顺序不能改变 ,这种简写法只有在同时指定font-size和font-family属性时才起作用,而且,你没有设定font-weight , font-style , 他们会使用缺省值(默认值)。
font属性简写:字号,行高,字体;
文字属性简写:font:12px/24px "宋体";
font-size:12px; line-height:24px; font-family:”宋体”;
8、文本修饰
{text-decoration:none/underline/overline/line-through}
说明:
none:没有修饰
underline:添加下划线
overline:添加上划线
line-through:添加删除线
当一个属性有多个属性值时可以用空格分割
9、首行缩进
{text-indent:value;}
说明:
(1)text-indent可以取负值;
(2)text-indent属性只对第一行起作用。
10、字间距
{letter-spacing:value;}控制英文字母或汉字的字距。
属性值不能为负数,字会重叠。
11、词间距
{word-spacing:value;}控制英文单词词距。
三、CSS列表属性
1、定义列表符号样式
list-style-type:disc(实心圆)/circle(空心圆)/square(实心方块)/none(去掉列表符号);
list-style-type:none===list-style:none;简写,适用于三种符号样式,同时写用空格分开。
对有序列表同样适用。
2、使用图片作为列表符号
list-style-image:url(所使用图片的路径及全称);
注:没法调整图片和文本的距离。
3、定义列表符号的位置
list-style-position:outside(外边)/inside(里边);
list-style:none;去掉列表符号。
四、边框的属性和属性值
border:边框宽度 边框风格 边框颜色;
是宽度高度之外的
例如:border:5px solid #ff0000;
简写的时候三种属性都必须写。
边框:border,网页中很多修饰性线条都是由边框来实现的。
边框宽度:border-width:
边框颜色:border-color:
边框样式:border-style:solid(实线)/dashed(虚线)dotted(点划线)double(双线)
可单独设置一方向边框:
border-bottom:边框宽度 边框风格 边框颜色;底边框;
border-left:边框宽度 边框风格 边框颜色;左边框;
border-right:边框宽度 边框风格 边框颜色;右边框;
border-top:边框宽度 边框风格 边框颜色;上边框;
border-方向-属性:border-top-width
五、CSS背景属性
1、背景颜色
{background-color:颜色值;}
2、背景图片的设置
background-image:url(背景图片的路径及全称);
背景图片的显示原则
1)容器尺寸等于图片尺寸,背景图片正好显示在容器中
2)容器尺寸大于图片尺寸,背景图片将默认平铺,直至铺满元素;
3)容器尺寸小于图片尺寸,只显示元素范围以内的背景图。
网页上有两种图片形式:插入图片、背景图;
插入图片:属于网页内容,也就是结构,占结构空间。
背景图:属于网页的表现,背景图上可以显示文字、插入图片、表格等。是一种css样式,不占空间。padding不会影响背景图的位置。
3、背景图片平铺属性
{background-repeat:no-repeat 不平铺/repeat 平铺(默认)/repeat-x 横向平铺/repeat-y 纵向平铺 }
4、背景图的固定性
{background-attachment:scroll(滚动)/fixed(固定);}
fixed:固定,不随内容一块滚动;
scroll:随内容一块滚动。
body{background-attachment:fixed;}
背景图片固定属性只对body有效,对元素无效。
5、背景图的位置性
{background-position:left/center/right/数值 top/center/bottom/数值;}
水平方向上的对齐方式(left/center/right)或值
垂直方向上的对齐方式 (top/center/bottom)或值
background-position:值1 值2; 遵循顺序,先写水平方向上的数值,再写垂直方向上的数值。
两个值 :第一个值表示水平位置的值,第二个值:表示垂直的位置。
当两个值都是center的时候写一个值就可以代表的是水平位置和垂直位置 。
说明:向左向上方向是负值 ,向右向下方向是正值。
背景属性的缩写语法:
background:属性值1 属性值2 属性值3;
背景缩写:background:url(背景图片的路径及全称) no-repeat center top #f00;
引用背景图时:
1、引用一张背景图
(1)都写在简写里时,背景颜色和背景图不分先后顺序,引用图片在前,背景图在后,不会被覆盖。
所以背景属性简写时,其他属性就不要单独写了,尤其是背景图片和背景色,会互相产生干扰。
(2)背景图简写,背景色单独写时,背景色写在前面会覆盖背景图,需写在背景图下方。
(3)所有属性都分开单独写时,没有顺序要求,不会覆盖。
2、引用多张背景图时(注意用逗号分隔,先写的层级在上)
(1)都写在简写里时,背景色在最后一张背景图里添加。
(2)背景色单独写时,写在简写下方。
网页上常用的图片格式(压缩图片)
(1)jpg :有损压缩格式,靠损失图片本身的质量来减小图片的体积,适用于颜色丰富的图像;(像素点组成的,像素点越多会越清晰 )。
(2)gif:有损压缩格式,靠损失图片的色彩数量来减小图片的体积,支持透明,支持动画,适用于颜色数量较少的图像;
(3)png:有损压缩格式,损失图片的色彩数量来减小图片的体积,支持透明,不支持动画,是fireworks的 源文件格式,适用于颜色数量较少的图像;
六、CSS浮动属性
语法:float:none/left/right;
float浮动脱离半层;
float:定义网页中其它文本如何环绕该元素显示 ;
嵌套浮动元素的父级要有高度,不然会高度塌陷,解决办法,添加overflow:hidden;(注意不能与定位一起使用)
浮动的目的:就是让竖着的东西横着来。
有三个取值:
left:元素浮动在左面。
right:元素浮动在右面。
none:默认值,不浮动。
首先要知道,div是块级元素,在页面中独占一行,自上而下排列,也就是传说中的流。
image
无论多么复杂的布局,其基本出发点均是:“如何在一行显示多个div元素”。
显然标准流已经无法满足需求,这就要用到浮动。
浮动可以理解为让某个div元素脱离标准流,漂浮在标准流之上,和标准流不是一个层次。
页面浮动多个DIV的规律:
假如某个div元素A是浮动的,如果A元素上一个元素也是浮动的,那么A元素会跟随在上一个元素的后边(如果一行放不下这两个元素,那么A元素会被挤到下一行);如果A元素上一个元素是标准流中的元素,那么A的相对垂直位置不会改变,也就是说A的顶部总是和上一个元素的底部对齐。
div的顺序是HTML代码中div的顺序决定的。
靠近页面边缘的一端是前,远离页面边缘的一端是后。
经过上边的学习,可以看出:元素浮动之前,也就是在标准流中,是竖向排列的,而浮动之后可以理解为横向排列。
清除浮动可以理解为打破横向排列。
清除浮动的关键字是clear,语法:
clear : none | left | right | both
none:默认值,允许两边都可以有浮动对象。
left:不允许左边有浮动对象
right : 不允许右边有浮动对象
both : 不允许有浮动对象
有一点是要记住的那就是:对于CSS的清除浮动(clear),一定要牢记:这个规则只能影响使用清除的元素本身,不能影响其他元素。
写页面不要用清除浮动,清除浮动用来解决bug。
发表评论 (审核通过后显示评论):