CSS基础

名词解释

层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。

基础介绍

  • 层叠特性:在css中,元素最终呈现在用户眼中的效果,往往是经过多种样式重叠之后形成的。
  • 标准文档流
    • 网页解析顺序,从上向下,从左向右
    • 在标准文档流当中,元素被分类
      • 块级元素
        特点:
        独占一行
        如果不设置宽度,那么就会占满父元素宽度的百分之百
        可以设置width、height、背景色等样式内容
        可以当作容器包含其他标签。
        例如:div p ul,li
      • 行内元素
        特点:
        与其他的行内元素并列一行
        不能设置宽度或者高度,他们的宽度是内容的总宽度,高度是行高
        例如 :a em
      • 行内块元素
        特点:
        即可以设置宽度和高度还可以和别的元素并列一行
        一般情况下需要通过css属性转换才能变成行内块元素

文本流之说
文档流指的是网页元素内容的排列方式,而文本流则指的是网页当中
文本内容。

css使用方式

  1. 内部样式表(位于标签的内部)
		<style type="text/css">
				/*css语句*/
		</style>
  1. 外部样式表
	<link rel="stylesheet" type="text/css" href="目标文件的路径及文件名全称" />

或者

		<style type="text/css">
				@import url(目标文件的路径及文件名全称);
		</style>
差别:
差别1:本质的差别:link属于XHTML标签,而@import完全是CSS提供的一种方式。
差别2:加载顺序的差别:当一个页面被加载的时候(就是被浏览者浏览的时候),link引用的CSS会同时被加载,而@import引用的CSS会等到页面全部被下载完再被加载。所以有时候浏览@import加载CSS的页面时开始会没有样式(就是闪烁),网速慢的时候明显。
差别3:兼容性的差别:@import是CSS2.1提出的,所以老的浏览器不支持,@import只有在IE5以上的才能识别,而link标签无此问题。
差别4:使用dom(document object model文档对象模型 )控制样式时的差别:当使用javascript控制dom去改变样式的时候,只能使用link标签,因为@import不是dom可以控制的.
  1. 内联样式表(在html元素的内部)
	<div style="width:500px; height:200px;"></div>
  • 优先级:
    A、内联样式表的优先级别最高
    B、内部样式表与外部样式表的优先级和书写的顺序有关,后书写的优先级别高。

语法

接下来我们来介绍一下CSS中的语法

选择器

什么是选择器?
帮助我们在css中找到html的元素并且定位到指定元素的身上。

三大基础选择器: id class html

高级选择器
* 通配符
.d1,.d2 {}群组选择器
.d1 .d3 {}后代选择器
.d1>.d2{}子元素选择器
伪类选择器
a:link{属性:属性值;}超链接的初始状态;
a:visited{属性:属性值;}超链接被访问后的状态;
a:hover{属性:属性值;}鼠标悬停,即鼠标划过超链接时的状态;
a:active{属性:属性值;}超链接被激活时的状态,即鼠标按下时超链接的状态;
Link–visited–hover–active。必须按照顺序来使用,可以省略某一个但是顺序不能乱

选择器权重比较

  • 三大基础选择器
    id>class>html
    权重比较
    id、class、html选择器数量
  • 权重比较
选中
没有选中
权重不同:
权重相同:
如果距离目标相同
是否直接选中目标
比较权重
就近原则:谁描述的近就听谁的
比大小-谁大听谁
谁写在后面听谁的

!important:提高单个属性权重为最大值

属性和属性值

选择器{
属性:属性值;
}
一定要写语句结束符,否则可能导致代码压缩之后出现问题。

css常用核心属性

文本属性

  • font-size:字体大小--------------单位:px em …
    为了减小系统间的字体显示差异,IE Netscape Mozilla的浏览器制作商于1999年召开会议,共同确定16px/ppi为标准字体大小默认值,即1em.默认情况下,1em=16px,0.75em=12px; rem
  • font-family:文本字体------------------"font-family:字体1,字体2,字体3;
    浏览器首先会寻找字体
    1、如存在就使用改字体来显示内容,如在字体1不存在的情况下,则会寻找字体2,如字体2也不存在,按字体3显示内容,如果字体3 也不存在;则按系统默认字体显示;
    当字体是中文字体时,需加双引号;
    当英文字体由多个单词组成时,需加双引号如(“Times New Roman”)
    当英文字体只有一个单词组成是不加双引号如:(Arial);
    Windows中文版本操作系统下,中文默认字体为宋体或者新宋体,英文字体默认为Arial.
  • color: 文本颜色
    color:颜色值;red/#f00/rgb(255,0,0)
  • font-weight:文字加粗
    font-weight:bolder(更粗的)/bold(加粗)/normal(常规)/100—900
    在css规范中,把字体的粗细分为9个等级,分别为100——900,其中100对应最轻的字体变形,而900对应最重的字体变形
  • font-style:文本倾斜
    font-style:italic/oblique/normal(取消倾斜,常规显示);
    italic和oblique都是倾斜的文字, 但区别在于Italic是指斜体字,而Oblique是倾斜的文字,对于没有斜体的字体应该使用Oblique属性值来实现倾斜的文字效果.
  • text-align:水平对齐方式
    text-align:left左/right右/center居中/justify两端对齐(在部分浏览器中,对于中文不起作用);} 只针对文本或图片
  • vertical-align: 垂直对齐方式
    vertical-align:top上/bottom下/middle居中/baseline基线(某些特定的元素类型起作用);
  • line-height:文字行高
    line-height:normal/value;}line-height:20px; line-height:2em; (当行高的单位省略时,默认为em)
    当单行文本的行高等于容器高时,可实现单行文本在容器中垂直方向居中对齐;
    当单行文本的行高小于容器高时,可实现单行文本在容器中垂直中齐以上;
    当单行文本的行高大于容器高时,可实现单行文本在容器中垂直中齐以下(IE6及以下版本存在浏览器兼容问题)
  • text-decoration:文本修饰
    text-decoration:none/underline/overline/line-through
    none:没有修饰
    underline:添加下划线
    overline:添加上划线
    line-through:添加删除线
  • text-indent:首行缩进
    text-indent:value;
    1)text-indent可以取负值;
    2)text-indent属性只对第一行起作用。
  • text-transform:检索英文字母大小写
    text-transform:none无转换/capitalize首字母大写/uppercase全都大写/lowercase全都小写;
  • letter-spacing:字间距
    letter-spacing:value;
    控制英文字母或汉字的字距
  • word-spacing:词间距
    word-spacing:value;
    控制英文单词词距
  • font:文本简写属性

    font:bolder italic 12px/1.5em “宋体”;
    简写时,字体和字号是必备

     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 , 他们会使用缺省值。

列表属性

  • 列表符号样式
    list-style-type:disc(实心圆)/circle(空心圆)/square(实心方块)/none(去掉列表符号);
  • 使用图片作为列表符号
    list-style-image:url(所使用图片的路径及全称);
    定义列表符号的位置
    list-style-position:outside(外边)/inside(里边);
  • 简写
    list-style:none;

背景属性

  • background-color
    背景颜色
  • background-image
    背景图片
    url()
    可以使用本地图片也可以使用在线图片
  • background-repeat
    背景图片重复平铺
    no-repeat不平铺/repeat平铺/repeat-x X轴平铺/repeat-y Y轴平铺
  • background-position
    背景图片的位置
    left/center/right/数值 top/center/bottom/数值;
    水平方向上的对齐方式(left/center/right)或值
    垂直方向上的对齐方式(top/center/bottom)或值
  • background-position:值1 值2;
    两个值 :第一个值表示水平位置的值,第二个值:表示垂直的位置。
    当两个值都是center的时候写一个值就可以代表的是水平位置和垂直位置 ;
    当元素小背景图大的时候,想显示右下方的背景图,通过负值来调整背景图的位置;
  • background-attachment
    背景图片固定
    background-attachment:fixed固定/scroll滚动;
    fixed 固定,不随内容一块滚动,根据可视窗口固定位置;
    scroll:随内容一块滚动。
Tip:
常用图片格式
1) jpg :有损压缩格式,靠损失图片本身的质量来减小图片的体积,适用于颜色丰富的图像;(像素点组成的,像素点越多会越清晰 )
2) gif:无损压缩格式,支持透明,支持动画,适用于颜色数量较少的图像;
3) png:无损压缩格式,支持透明,不支持动画,(是fireworks的 源文件格式),适用于颜色数量较少的图像;
4) Webp:WebP是Google新推出的影像技术,它可让网页图档有效进行压缩,同时又不影响图片格式兼容与实际清晰度,进而让整体网页下载速度加快。

浮动属性

语法
float:left/right/none;
为什么浮动?
满足我们的布局需求
特点
脱离了标准文档流,但是没有脱离标准文本流
在一个父元素当中,如果一个子元素发生了浮动,那么最好也让其他的子元素发生浮动

浮动带来的影响
会影响后续元素的布局

清除浮动clear属性
none
默认值,允许两边存在浮动的情况
left
清除左浮动/不允许左边有浮动对象
right
清除右浮动/不允许右边有浮动对象
both
清除两端浮动/不允许有浮动对象
Tip:
对于CSS的清除浮动(clear),一定要牢记:这个规则只能影响使用清除的元素本身,不能影响其他元素

常见的清除浮动影响的css写法

	.clearfix {
    *zoom: 1
}

.clearfix:before, .clearfix:after {
    content: " ";
    display: table
}

.clearfix:after {
    clear: both
}

css注释

/*注释内容*/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值