CSS基本的用法

 

一、css页面引入方法:
1、外联式:通过link标签,链接到外部样式表到页面中
   <link rel="stylesheet" type="text/css" href="css/main.css"/>
2、嵌入式:通过style标签,在网页上创建嵌入式的样式表
<style>
div{
   width:100px;
   height:100px;
   color:red
}
</style>

3、内嵌入式:通过标签的style属性,在标签上直接写样式
<div style=" width:100px;height:100px;color:red>......</div>

二、css文本设置
1、常用的应用文本css样式:
color:设置文本字体的颜色,如 color:red
font-size:设置文字大小,如:font-size:12px
font-family:设置文字的字体,如:font-family:"微软雅黑"
font-style:设置字体是否倾斜,如:font-style:"nomal",设置不倾斜;font-style:"italic"设置倾斜
font-weight:设置文字是否加粗,如:font-weight:bold;设置加粗,font-weight:normal;设置不加粗
line-height设置文字行高,设置行高相当于在每行文字的上下同时加间距,如:line-height:24px;
font同时设置文字的几个属性,写的顺序有兼容问题,建议按照如下顺序写:
font:是否加粗 字号、行高字体;如:font nomal 12px/36px "微软雅黑"
text-decoration:设置文字的下划线,如:text-decoration:none,将文字下环线去掉
text-indent:设置文字首行缩进,如:text-indent:24排序,设置文字首行缩进24px
text-align:设置文字水平对齐方式,如text-align:center 设置文字水平居中

三、css颜色表示法:
1、颜色名表示:比如:red红色,gold金色
2、rgb表示:比如:rgb(255,0,0)表示红色
3、16进制数值表示:比如:#ff0000表示红色,这种可以简写#f00

四、css选择器:

1、标签选择器
标签选择器,此种选择器影响范围大,建议尽量应用在层级选择其中

举例:
*{
   margin:0;
   padding:0
}

div{
   color:red
}

2、id选择器(#)
通过ID名来选择元素,元素的ID名称不能重复,所以一个样式设置项只能应对页面上一个元素,不能复用,id名一般给程序员使用,所以不推荐使用作为id作为选择器

#box{
   color:red
}

<div id="box">......</div>

3、类选择器( .)

通过类名来选择元素,一个类可应用于多个元素,一个元素上也可以使用多个类,应用灵活,可复用,是css中应用最多的一种选择器

.red{
   color:red
}

.big{
   font-size:20px
}

.mth10{
   margin-top:10px
}

<div class = "red">......</div>
<h1 class="red big mth10">......</h1>
<p class="red big mth10">......</p>

4、层级选择器
主要应用在选择父元素下的子元素,或者子元素下面的子元素,可与标签元素结合使用,减少命名,同时也可以通过层级,防止命名的冲突
.box span{
   color:red
}

.box .red{
   color:pink.
}

.red{
   color:red
}

5、组选择器
多个选择器,如果有同样的样式设置,可以使用组选择器
.box1,.box2,.box3{
   witdh:100px;
   height:100px;
}

.box1{
   background:red;
}

.box2{
   background:pink;
}

.box3{
   background:gold;
}

<div class="box1">.....</div>
<div class="box2">.....</div>
<div class="box3">.....</div>

6、伪类及伪元素选择器
常用的伪类选择器有hover,表示鼠标悬浮在元素上时的状态,伪元素选择器有before和after,他们可以通过样式在元素中插入内容

.box1:hover{
   color:red;
}

.box2:before{
   content:"行首文字"
}

.box3:after{
   content:"行尾文字"
}



五、margin相关技巧:
1、设置元素水平居中:margin:X auto
2、margin负值让元素位移及边框合并

外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距,合并后的外边距的高度等于两个发生合并的外边距的高度中较大者,解决方法如下:
1、使用这种特性
2、设置一边的外边距,一般设置margin-top
3、将元素浮动或者定位的

margin-top塌陷
在两个盒子嵌套时候,内部的盒子设置的margin-top会加到外边的盒子上,导致内部的盒子margin-top设置失败,解决方案如下:
1、外盒子设置一个边框
2、外部盒子设置overflow:hidden
3、使用伪元素
.clearfix:before{
   content:'';
   display:table
}



css元素溢出
   当子元素的尺寸超过父类的尺寸时,需要设置父类元素显示溢出的子元素的方式,设置的方法是通过overflow属性来设置。

overflow的设置属性:
1、visible 默认值,内容不会被修剪,会呈现在元素框之类
2、hidden 内容会被修剪,并且其余内容是不可见的,此属性还有清除浮动,清除margin-top塌陷的功能
3、scroll内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容,显示滚动条不管是否溢出
4、auto如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容,溢出时才产生滚动条
5、inner 规定应该从父元素继承overflow属性的值



六、块元素,内联元素,内联块元素
元素就是标签,布局中常用的三种标签,块元素,内联元素,内联块元素
1、块元素
块元素,也可以称为行元素,布局中常用的标签:div,p,ul,li,h1-h6,dl,dd,dt等等都是快元素
他们在布局中的行为:
1、支持全部样式
2、如果没有设置宽度,默认为的宽度为父宽度100%
3、盒子占据一行,即使设置了宽度



2、内联元素:
内联元素,也可以称为行内元素,布局中常用的标签如:a,span,em,b,strong,i等等都是内联元素,
他们在布局中的行为:
1、支持部分样式(不支持宽、高、margin上下,padding上下)
2、宽高由内容决定
3、盒子并在一行
4、代码换行,盒子之间会产生间距
5、子元素是内联元素,父元素可以用text-align 属性设置水平对齐方式



解决内联元素间隙的方法
1、去除内联元素之间的换行
2、将内联元素的父级设置font-size为0,内联元素自身在设置font-size


3、内联块元素
内联块元素,也叫内行块元素,是新增的元素类型,现在元素没有归于此类别的,img和input元素的行为类似这种元素,但是也归类于内联元素,我们可以用display属性将块元素或者内联元素转化成这种元素,他们在布局中的表现:
1、支持全部样式
2、如果没有设置宽高,宽高由内有决定
3、盒子并在一行
4、代码换行,盒子会产生间距
5、子元素是内联块元素,父元素可以用text-align 属性设置水平对齐方式

这三种元素,可以通过display属性来相互转化,不过在实际开发中,块元素用的比较多,所以我们经常把内联元素转化为快元素,少量转化为内联元素,而要使用内联元素时,直接使用内联元素,而不用块元素转化了。

display属性:是用来设置元素的类型及隐藏的,常用属性有:
1、none 元素隐藏且不占位置
2、block 元素为块元素显示
3、inline 元素以内联元素显示
4、inline-block 元素以内联块元素显示


七、浮动
 1、浮动特性:
  1)浮动元素有左浮动(float left)和右浮动(float right)两种
  2)浮动的元素会向左或向右浮动,碰到父元素边界,其它元素才停下
  3)相邻浮动的块元素可以并在一行,超出父级宽度就换行
  4)浮动让行内元素或块元素自动转化为行内块元素(此时不会有行内块元素间隙问题)
  5)浮动元素后面没有浮动的元素会占据浮动元素的位置,没有浮动的元素内的文字会避开浮动元素,
形成文字饶图效果
  6)父元素如果没有设置尺寸(一般是高度不设置),父元素内整体浮动的元素无法撑开父元素,父元素需要清除浮动
  7)浮动元素之间没有垂直margin的合并

清除浮动方法:
1、父级上增加属性overflow:hidden
2、在最后一个子元素的后面加一个空div,给它样式属性clear both(不推荐)
3、使用成熟的清除浮动样式类:clearfix
.clearfix:after,.clearfix:before{
      content: "";
      display: table;
      clear:both;
}

.clearfix:after{
      clear:both;
}

.clearfix{
    zoom:1;
}



八、定位

1、文档流
文档流,是指盒子按照html标签编写的顺序依次从上到下,从左到右排列,块元素占一行,行内元素在一行之内从左到右,先写的先排列,后写的排在后面,每个盒子都占据自己的位置

2、关于定位
我们可以使用css的position属性来设置元素的定位类型,position设置项如下:
1、relative 生成相对定位元素,元素所占据的文档流的位置保留,元素本身相对自身原位置进行偏移
2、absolute 生成绝对定位元素,元素脱离文档流,不占据文档流的位置,可以理解为漂浮在文档流的上方,相对于上一个设置了定位的父级元素来进行定位,如果找不到,则相对于body元素进行定位
3、fixed 生成固定定位元素,元素脱离文档流,不占据文档流的位置,可以理解为漂浮在文档流的上方,相对于浏览器窗口进行定位
4、static 默认值,没有定位,元素出现在正常的文档流中,相对于取消定位属性或者不设置定位属性。
5、inherit 从父元素继承position属性值

3、定位元素的偏移
定位的元素还需要用left,right,top或者bottom来设置相对于参照元素的偏移值

4、定位元素层级
定位元素是浮动的正常的文档流之上,可以用z-index属性来设置元素的层级

例如:
.box{

    ......

    position:absolute;  设置了绝对定位

    left:200px;相对于参照物元素左边向右偏移200px

    top:100px;相对于参照物元素顶部向下偏移100px

    z-index:10; 将元素层级设置为10

}



5、定位元素特性
绝对定位和固定定位的块元素和行内元素会自动转化为行内块元素

background属性

background属性是css中应用比较多,且比较重要的一个属性,它是负责给盒子设置背景图片和背景颜色的,

background是一个复合属性,它可以分解成如下几个设置项:

1、background-color 设置背景颜色

2、background-image 设置背景图片地址

3、background-repeat 设置背景图片如何重复平铺

4、background-position 设置背景图片位置

5、background-attachment 设置背景图片是固定还是随着页面滚动条滚动



实际应用中,我们可以用background属性将上面所有的设置项放在一起,而且也建设这么做,这样做性能更

高,而且兼容更好。比如:“background:#000 url(bgimage.gif) no-repeat left center fixed”

这里面的#000是设置background-color;url(bgimage.gif)是设置background-image;“no-repeat”是设置

background-repeat;"left center"是设置background-position;“fixed"是设置background-attachment,

各个设置项用空格隔开,有的设置项不写也是可以的,它会使用默认值。



background-repeat属性:

  repeat-x:只平铺x轴方向

  repeat-y:只平铺y轴方向

  no-repeat:只平铺依次;

  repeat:平铺所有的



 background-position属性:

    水平方向:left center right

    垂直方向: top center bottom

    left top:左边的上面

    left center:左边的中间

    left bottom:左边下面;

    center top:中间的上面

    center center:中间的中间

    center bottom:中间下面;

    right top:右边的上面

    right center:右边的中间

    right bottom:右边下面;

    background-position: left top;

    也可以写数值:

    background-position:10px 10px



九、常用图片格式

图片格式:
1、psd
photoshop的专用格式
优点:完整保存图片的信息,包括未压缩的图像数据,图层,透明度等信息,方便图像的编辑
缺点:应用范围窄,图片容量相对较大

2、jpg
网页制作以及日常使用最普通的图像格式
优点:图像压缩效率高,图像容量相对最小
缺点:有损压缩,图像会丢失数据而失真,不支持透明度背景,不能制作成动画

3、gif
制作网页小动画的常用图像格式
优点:无损压缩,图像容量小,可以制作成动画,支持透明度
缺点:图像色彩范围最多只有255色,不能保持色彩丰富多彩的图像,不支持半透明,透明图像边缘有锯齿

4、png
网页制作及日常使用比较普遍的图像格式
优点:无损压缩,图像容量小,支持透明背景和半透明色彩,透明图像的边缘光滑
缺点:不能制作动画

5、webp
将取代jpg图像格式
优点:同jpg格式,容量相对jpg还要小
缺点:同jpg格式,目前不支持所有的浏览器

位图和矢量图格式(svg,flash)

位图也叫点阵图,是由一个个的方形的像素点排列在一起拼接而成的,位图在放大,图像会失真,

上面5种图像格式都属于位图

矢量图和位图组成图像的原理不同,它的图像轮廓是由函数曲线生成的,当放大图像时,实际的原理就是将曲线乘以一个背书

图像就可以轻易地放大,而且不会出现像素块,图像边缘也不会出现锯齿

svg
目前首选的网页矢量图格式
优点:图像容量小,图像放大不失真,支持透明背景和半透明色彩,图像边缘光滑

flsh
退出历史的重量级网页矢量图格式
优点:图像容量小图像放大不失真,支持透明背景和半透明色彩,图像边缘光滑,还可以制作动画,可编写交互
缺点:不支持搜索引擎,运行慢,浏览器需要安装插件才可以使用



总结:

在网页制作中,如何选择合适的图片格式?

1、在使用大幅度图片时,如果要使用不透明背景图片,就可以使用jpg图片;如果要使用透明或者半透明背景图片,就是用png

2、使用小幅度图片或者图标图片时,如果图片含多种颜色,可以使用GIF或png;

如果图片时单色,而且要求技术有很好的显示效果,可以使用svg;如果是图片时动画的,可以使用gif



 


十、css3圆角
设置某一个角的圆角,比如设置左上角的圆角:
  border-top-left-radius 30px 60px;
分别同时设置四个角:

border-radius:30px 60px 120px 150px
设置四个角相同时:
   border-radius:50%


十一、rgba(新增颜色表示法)
1、盒子透明度
   .box{
         opacity:0.1;
         <!-- 兼容IE -->
        filter:alpha(opacity=10)

}
2、rgba(0,0,0,0.1)前三个数值表示颜色,第四个数值表示颜色的透明度


十二、transform变换
1、translate(x,y)设置盒子的位移
2、scale(x,y)设置盒子的缩放
3、rotate(deg) 设置盒子的旋转
4、skew(x-angle,y-angle)设置盒子斜切
5、perspective 设置透视距离,理想值perspective(800px)
6、transform-style  flat|preserve-3d  设置盒子是否按3d空间显示
7、translateX,translateY,translateZ设置三维移动
8、rotateX,rotateY,rotateZ设置三维旋转
9、scaleX,scaleY,scaleZ设置三维缩放
10、tranform-origin 设置变形中心
11、backface-visibility 设置盒子背面是否可见
补充:
旋转的轴向
  x轴:从左往右
  y轴:从上往下
  z轴:从屏幕内往外
判断旋转的方向:让轴向对着自己,顺时针方向

十三、transition动画
1、transition-property:设置过度属性,比如:width,height,background-color
2、transition-duration:设置过度时间,比如1s 500ms
3、transition-timing-function 设置过度的运动方式,常用有
line(匀速),ease(缓冲运动)
4、transition-delay设置动画的延迟
5、transition:property duration timing-function delay

十四、animation动画
1、@keyframes 定义关键帧动画
2、animation-name 动画名称
3、animation-duration 动画时间
4、animation-timing-function 动画曲线 linear(匀速) ease(缓冲) step(步数)
5、animation-delay 动画延迟
6、animation-iteration-count 动画播放次数 n |infinite
7、animation-direction 动画结束后是否反向还原 normal | Altermate
8、animation-play-state 动画状态 pause(停finite止) | running(运动)
9、animation-fill-mode 动画前后的状态 none(缺省)| forwards(结束时停留在最后一帧)|
backwards(开始时停留在定义的开始帧)| both(前后都应用)
10、animation:name duration timing-function delay iteration-count direction ;同时设置
十五、css 权重
css权重指的是样式的优先级,有两条或多条样式作用于一个元素,权重高的那条样式对于元素起作用,权重相同的,后写的样式会覆盖前面写的样式

权重的等级
可以把样式的应用方式分为几个等级,按照等级来计算权重
1、imporant ,加在样式属性值后,权重值为10000
2、内联样式,如:style=“”,权重值为1000
3、ID选择器,如:#content,权重值为100
4、类,伪类和属性选择器,如:content,:hover权重值为10
5、标签选择器和伪元素选择器,如:div,p,:before权重值为1
6、通用选择器(*),子选择器(>),相邻选择器(+),同胞选择器(-),权重值为0
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值