CSS知识点-笔记总结

唯一稳妥的事是去冒险一试。
The only safe thing is to take a risk.

一、初识CSS

1.什么是css?

       层叠样式表( Cascading Stylesheet ,简称CSS ), 其基本目标是让浏览器以指定的特性去绘制页面元素,比如颜色,定位,装饰。CSS的语法反映了这个目标,由下面两个部分构建: 属性( property)是一个标识符,用可读的名称来表示其特性。 值(value)则描述了浏览器引擎如何处理该特性。每个属性都包含一个有效值的集合,它有正式的语法和语义定义,被浏览器引擎实现。

2.引入css的方式

  • 外部样式
<head>
...
<!-- href="style.css"文件路径 
     rel="stylesheet"使用外部样式表
     type="text/css"文件类型 -->
<link href="style.css" rel="stylesheet" type="text/css" />
...
</head>
  • 内部样式
<style>
        h1{color: green; }
</style>
  • 行内样式
<h1 style="color:red;">style属性的应用</h1>

3.css选择器

  • 基本选择器
    • id选择器
  /* #box box为id名
   font-size属性
   16px属性值 */
  #box { font-size:16px;}
  • 类选择器
 /* .main main为类名 */
  .main { font-size:16px;}
  • 标签选择器
 p { font-size:16px;}
  • 注:基本选择器的优先级:ID选择器>类选择器>标签选择器

二、CSS基础

1.编辑网页文本

  • 字体样式 font
font-family——设置字体类型
例如:font-family:"隶书";
font-size——设置字体大小 
例如:font-size:12px;
font-style——设置字体风格 
例如:font-style:italic;
font-weight——设置字体的粗细 
例如:font-weight:bold;

另外可设置所有字体属性:
font:italic bold 36px "宋体";
  • 文本样式
color——设置文本颜色
例如:color:red;

text-align——设置元素水平对齐方式
属性值: left/right/center/justify   
        left把文本排列到左边(默认值)
        right 把文本排列到右边
        center 把文本排列到中间
        justify 实现两端对齐文本效果
例如:text-align:right;

text-indent——设置首行文本的缩进 
例如:text-indent:20px;
  
line-height——设置文本的行高 
例如:line-height:25px;
  
text-decoration——设置文本的装饰
属性值: none/underline/overline/line-through
        none 默认值,定义的标准文本
        underline 设置文本的下划线
        overline 设置文本的上划线
        line-through 设置文本的删除线
例如:text-decoration:underline;
   
vertical-align——垂直对齐方式
属性值:middle居中/top置顶/bottom置底
例如:vertical-align:top;
   
text-shadow——文本阴影
属性值:值1 值2 值3 值4
值1:color(颜色)
值2:x-offset(X轴位移,用来指定阴影水平位移量) 
值3:y-offset(Y轴位移,用来指定阴影垂直位移量) 
值4:blur-radius( 阴影模糊半径,代表阴影向外模糊的模糊范围)
例如:text-shadow:red 20px 20px 5px;

2.超链接伪类

<!DOCTYPE html>
<html lang="en"><head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>超链接伪类</title>
<style>
/* 未单击访问时超链接的字体是红色的 */
a:link{
color: red;
}
/* 单击访问后超链接的字体是绿色的 */
a:visited{
color:green;
}
/* 鼠标悬浮其上的超链接的字体是蓝色的 */
a:hover{
color:blue;
}
/* 鼠标单击未释放的超链接的字体是黄色的 */
a:active{
color: yellow;
}
</style>
</head>
<body>
<a href="#">我是超链接</a>
</body>
</html>

注:设置伪类的顺序:a:link——>a:visited——>a:hover——>a:active

3.列表样式 list-style

list-style-type——列表样式类型
属性值:none/disc/circle/aquare/decimal
       none 无标记符号
       disc 实心圆,默认类型
       circle 空心圆;
       square 实心正方形
       decimal 数字
例如: list-style-type:circle;

list-style-image——将图像作为列表项标记
属性值:url图像的路径
例如: list-style-image:url("/i/arrow.gif");

list-style-position——列表样式位置
属性值:inside/outside
       inside列表项目标记放置在文本以内,且环绕文本根据标记对齐。
       outside默认值。保持标记位于文本的左侧。列表项目标记放置在文本以外,且环绕文本不根据标记对齐。
例如: list-style-position:inside;

另外可设置所有列表样式属性(不常用):
 list-style:square inside url('/i/arrow.gif');

4.背景样式 background

background-color——背景颜色
属性值:transparent/color_name/hex_number/rgb_number
       transparent默认。背景颜色为透明。
       color_name规定颜色值为颜色名称的背景颜色(比如 red)
       hex_number规定颜色值为十六进制值的背景颜色(比如 #ff0000)
       rgb_number规定颜色值为rgb代码的背景颜色(比如 rgb(255,0,0)例如:background-color:red;
       
background-image——背景图像
例如:background-image:url(./img.jpg);

background-repeat——背景重复方式
属性值:repeat/no-repeat/repeat-x/repeat-y
       repeat:沿水平和垂直两个方向平铺
       no-repeat:不平铺,即只显示一次
       repeat-x:只沿水平方向平铺
       repeat-y:只沿垂直方向平铺
例如:background-repeat:no-repeat;
       
background-position——背景定位
属性值:Xpos  Ypos/X%  Y%/X Y
       Xpos  Ypos 单位:px,Xpos表示水平位置,Ypos表示垂直位置
       X%  Y% 使用百分比表示背景的位置
       X、Y方向关键词:垂直方向的关键词:top、center、bottom
                      水平方向的关键词:left、center、right
例如:background-position:center center;
 
background-size——背景尺寸
属性值:auto/percentage/cover/contain  
       auto 默认值,使用背景图片保持原样
       percentage 当使用百分值时,不是相对于背景的尺寸大小来计算的,而是相对于元素宽度来计算的
       cover 整个背景图片放大填充了整个元素
       contain 让背景图片保持本身的宽高比例,将背景图片缩放到宽度或者高度正好适应所定义背景的区域
例如:background-size:contain;


另外可设置所有背景样式属性:
background:#00FF00 url(bgimage.gif) no-repeat right top;

5.css3渐变

  • 线性渐变:颜色沿着一条直线过渡:从左到右、从右到左、从上到下等
    background:linear-gradient(position,color1,color2,…)——线性渐变
                                              (渐变方向,第一种颜色值,第二种颜色值)
例如:从左侧开始的线性渐变,从红色开始,转为黄色:
background: linear-gradient(to right, red , yellow);
  • 径向渐变:圆形或椭圆形渐变,颜色不再沿着一条直线变化,而是从一个起点朝所有方向混合
    background:radial-gradient(color1,color2,…)——径向渐变
                                              (第一种颜色值,第二种颜色值)
例如:从中心开始的径向渐变。起点是黑色,终点是红色: 
background: radial-gradient(black,red); 

三、盒子模型

1.盒子模型的使用

四个属性值按顺时针排列:上 右 下 左

  • 边框 border
border-color——边框颜色 
  
border-top-color  上边框颜色
例如:border-top-color:red; 
border-right-color 右边框颜色
例如:border-right-color:red; 
border-bottom-color 下边框颜色
例如:border-bottom-color:red; 
border-left-color 左边框颜色
例如:border-left-color:red; 

border-color 四个边框为同一颜色
例如:border-color:red;

border-color 上、下边框颜色:red,左、右边框颜色:blue
例如:border-color:red blue;

border-color 上边框颜色:red 左、右边框颜色:yellow,下边框颜色:blue
例如:border-color:red yellow blue;                                                                                                                                                                                                           

border-color 上、右、下、左边框颜色:red、yellow、blue、green 
例如:border-color:red yellow blue green;

border-width——边框粗细
属性值:thin(细)/medium(中)/thick(粗)/像素值
例如:border-width:2px;

border-style——边框样式
属性值:none/hidden/dotted虚线/dotted虚线/dashed点线/solid实线/double双边框
例如:border-style:solid;
   
另外可设置所有边框样式属性:
例如:border: 1px red dashed;
  • 内边距 padding
padding-top——上内边距
例如:padding-top:10px; 

padding-right——右内边距
例如:padding-right:10px;

padding-bottom——下内边距
例如:padding-bottom:10px;

padding-left——左内边距
例如:padding-left:10px; 

padding 上、右、下、左边为同一内边距
例如:padding:10px;
 
padding 上、下内边距:10px,左、右内边距:5px
例如:padding:10px 5px;

padding 上内边距:10px,左、右内边距:5px,下内边距:15px
例如:padding:10px 5px 15px;                                                                                                                                                                                                                     

padding 上、右、下、左不同的内边距:10px 5px 15px 20px
例如:padding:10px 5px 15px 20px;

padding 上、右、下、左相同的内边距:10px
例如:padding:10px;
  • 外边距 margin
margin-top——上外边距
例如:margin-top:10px; 

margin-right——右外边距
例如:margin-right:10px;

margin-bottom——下外边距
例如:margin-bottom:10px;

margin-left——左外边距
例如:margin-left:10px; 

margin 上、右、下、左边为同一外边距
例如:margin:10px;
 
margin 上、下外边距:10px,左、右外边距:5px
例如:margin:10px 5px;

margin 上外边距:10px,左、右外边距:5px,下外边距:15px
例如:margin :10px 5px 15px;                                                                                                                                                                                                                     

margin 上、右、下、左不同的外边距:10px 5px 15px 20px
例如:margin :10px 5px 15px 20px;

margin 上、右、下、左相同的外边距:10px
例如:margin :10px;

网页居中对齐:margin:0px  auto;
另外:网页居中对齐的必要条件:块元素、固定宽度   
  • 盒子总尺寸
盒子模型总尺寸=border边框+padding内边距+margin外边距+内容宽高
  • box-sizing
box-sizing
属性值:content-box/border-box/inherit
       content-box 默认值,盒子的总尺度
       border-box  盒子的宽度或高度等于元素内容的宽度或高度
       inherit     元素继承父元素的盒子模型模式

另外:box-sizing值为border-box时,盒子的大小不会受到边框和内边距的影响,如果边框和内边距的值相加超过盒子本身大小时,依然会失效

2.圆角边框 border-radius

四个属性值按顺时针排列:上 右 下 左

上圆角边框20px,右圆角边框10px,下圆角边框5px,左圆角边框30px
例如:border-radius: 20px  10px  50px  30px;

3.盒子阴影 box-shadow

box-shadow——盒子阴影
box-shadow:inset  x-offset  y-offset  blur-radius  color;
           inset 阴影类型内阴影
           x-offset(X轴位移,用来指定阴影水平位移量) 
           y-offset(Y轴位移,用来指定阴影垂直位移量) 
           blur-radius( 阴影模糊半径,代表阴影向外模糊的模糊范围)
           color(阴影颜色,定义绘制阴影时所使用的颜色)
例如:box-shadow:inset red 20px 20px 5px;
       
另外:box-shadow盒子阴影设置值:阴影颜色,x轴和y轴偏移量,模糊度,模糊范围,设置设置类似text-shadow

四、浮动 float

1.网页布局

  • 通常的网页布局
    • 网站导航
    • 左侧链接
    • 主体内容
    • 网页版权
  • 标准文档流:指元素根据块元素或行内元素的特性按从上到下,从左到右的方式自然排列。这也是元素默认的排列方式。
    • 标准文档流组成
      内联(行内)元素(inline) <span>、<a>、<img/>、<strong>...
      块级元素(block) <h1>…<h6>、<p>、<div>、ul...
      :内联标签可以包含于块级标签中,成为它的子元素,而反过来则不成立

2.display属性

  • display属性
 display: block/inline/inline-block/none
          block 块级元素的默认值,元素会被显示为块级元素,该元素前后会带有换行符
          inline 内联元素的默认值。元素会被显示为内联元素,该元素前后没有换行符 
          inline-block 行内块元素,元素既具有内联元素的特性,也具有块元素的特性
          none 设置元素不会被显示
例如:display:inline-block;
  • display特性
    • 块级元素与行级元素的转变
      变为块级元素:display:block;
      变为行级元素:display:inline;

    • 控制块元素排到一行
      display: inline-block;

    • 控制元素的显示和隐藏
      display:none;

3.浮动属性 float

float:left/right/none
左浮动:float:left;
右浮动: float:right;
不浮动: float:none;

4.清除浮动

clear——清除浮动
属性值:left/right/both/none
清除左浮动:clear:left;
清除右浮动:clear:right;
清除两侧浮动:clear:both;
不清除浮动:clear:none;

5.使用dispaly:inline-block;float使元素排在一行优缺点

  • 使用display:inline-block
    优点:可以让元素排在一行,并且支持宽度和高度,代码实现起来方便
    缺点:位置方向不可控制,会解析空格。IE 6、IE 7不支持
  • 使用float
    优点:可以让元素排在一行并且支持宽度和高度,可以决定排列方向
    缺点:float 浮动以后元素脱离文档流,会对周围元素产生影响,必须在它的父级上添加清除浮动的样式

五、定位 position

1.定位属性

position——定位
属性值:static/relative/absolute/fixed
例如:position:fixed;

1.static:默认值——没有定位,以标准流方式显示

2.relative:相对定位——相对自身原来位置进行偏移
偏移设置:top、left、right、bottom
相对定位的特性:
1)相对于自己的初始位置来定位
2)元素位置发生偏移后,它原来的位置会被保留下来
3)层级提高,可以把标准文档流中的元素及浮动元素盖在下边
相对定位的使用场景:
相对定位一般情况下很少自己单独使用,都是配合绝对定位使用,为绝对定位创造定位父级而又不设置偏移量

3.absolute:绝对定位——相对自身原来位置进行偏移 
偏移设置:top、left、right、bottom
使用了绝对定位的元素以它最近的一个“已经定位”的“祖先元素” 为基准进行偏移,如果没有已经定位的祖先元素,会以浏览器窗口为基准进行定位,绝对定位的元素从标准文档流中脱离,这意味着它们对其他元素的定位不会造成影响,元素位置发生偏移后,它原来的位置不会被保留下来。
绝对定位不设置偏移量:
设置了绝对定位但没有设置偏移量的元素将保持在原来的位置。在网页制作中可以用于需要使某个元素脱离标准流,而仍然希望它保持在原来的位置的情况
1)绝对定位是相对于它的定位父级的位置来定位,如果没有设置定位父级,则相对浏览器窗口来定位
2)元素位置发生偏移后,原来的位置不会被保留
3)层级提高,可以把标准文档流中的元素及浮动元素盖在下边
4)设置绝对定位的元素脱离文档流
绝对定位的使用场景:
一般情况下,绝对定位用在下拉菜单、焦点图轮播、弹出数字气泡、特别花边等场景

4.fixed:固定定位——类似绝对定位,不过区别在于定位的基准不是祖先元素,而是浏览器窗口  
偏移设置: left、right、top、bottom 
固定定位的特性:
1)相对浏览器窗口来定位
2)偏移量不会随滚动条的移动而移动
固定定位的使用场景:
一般在网页中被用在窗口左右两边的固定广告、返回顶部图标、吸顶导航栏等

**注**:relative元素本身位置会保留下来,fixed和absolute位置不会保留,定位层级均会提高

2.z-index属性

z-index属性:调整元素定位时重叠层的上下位置
z-index属性值:整数,默认值为0
使用:设置了positon属性时,z-index属性可以设置各元素之间的重叠高低关系
z-index值大的层位于其值小的层上方

:z-index:设置已经有定位的元素层级默认为0,数值越大层级越高,可设置负值

3.透明度 opacity

opacity—透明度
使用:opacity:x;值为0~1,值越小越透明
例如:opacity:0.4;
在这里插入图片描述

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值