CSS基础

CSS 指层叠样式表 (Cascading Style Sheets)(级联样式表)

Css是用来美化html标签的,相当于页面化妆。

◆样式表书写位置

1  选择器

1.1  写法

选择器是一个选择谁(标签)的过程。

选择器{属性:值; 属性:值;}

属性

解释

Width:20px;

Height:20px;

Background-color:red;

背景颜色

font-size:24px;

文字大小

text-align:left | center| right

内容的水平对齐方式

text-indent:2em;

首行缩进

Color:red;

文字颜色

1  选择器

1.1  基础选择器

◆标签选择器

标签{属性:值;}

特点:标签选择器定义之后,会将页面所有的元素都执行这个标签样式。

★颜色的显示方式

  ◎直接写颜色的名称

  ◎十六进制显示颜色

  0-9  a-f

#000000; 前2为代表红色,中间2位代表绿色,后边2位代表蓝色。

  ◎rgb

  ◎rgba

A代表alpha不透明度   值 0-1

 

◆类选择器(重点)


特点:谁调用,谁生效。

        一个标签可以调用多个类选择器。

       多个标签可以调用同一个类选择器。

  ★类选择器命名规则

   ◎不能用纯数字或者数字开头来定义类名

   ◎不能使用特殊符号或者特殊符号开头(_)来定义类名

   ◎不建议使用汉字来定义类名

   ◎不推荐使用属性或者属性的值来定义类名

◆ID选择器

写法

#自定义名称{属性:值;}

特点:一个ID选择器在一个页面只能调用一次。如果使用2次或者2次以上,不符合w3c规范,JS调用会出问题。

  一个标签只能调用一个ID选择器。

一个标签可以同时调用类选择器和ID选择器。

 

◆通配符选择器

*{属性:值;}

特点:给所有的标签都使用相同的样式。

★不推荐使用,增加浏览器和服务器负担。

1.1  复合选择器

概念:两个或者两个以上的基础选择器通过不同的方式连接在一起。

◆交集选择器

标签+类(ID)选择器{属性:值;}

特点:即要满足使用了某个标签,还要满足使用了类(id)选择器。

◆后代选择器(重点)

选择器+空格+选择器{属性:值;}

后代选择器首选要满足包含(嵌套)关系。

父集元素在前边,子集元素在后边。

特点:无限制隔代。

      只要能代表标签,标签、类选择器、ID选择器自由组合。

◆子代选择器

选择器>选择器{属性:值;}

选中直接下一代元素。

◆并集选择器

选择器+,+选择器+,选择器{属性:值;}

2  文本元素

2.1     属性

font-size:16px;  文字大小

Font-weight: 700     ;   值从100-900,文字粗细,不推荐使用font-weight:bold;

Font-family:微软雅黑;  文本的字体

Font-style:normal | italic;      normal 默认值 italic  斜体

line-height: 行高

2.2  文本属性连写

font: font-style font-weight font-size/line-height font-family;

◆:注意:font:后边写属性的值。一定按照书写顺序。

      文本属性连写文字大小和字体为必写项。

Font:italic 700 16px/40px  微软雅黑;

2.3  文字的表达方式

◆直接写中文名称。

◆写字体的英文名称。

◆unicode 编码

 

第一步:f12

第二步:找到console

第三步:输入escape(“宋体”)  注意英文的括号和双引号。


1  样式表书写位置

◆内嵌式写法

<head>

<style type=”text/css”>

样式表写法

</style>

</head>

◆外链式写法

写在head里,<linkrel=”stylesheet” href=”1.css”>

◆行内样式表

 

◆三种写法特点:

★内嵌式写法,样式只作用于当前文件,没有真正实现结构表现分离。

★外链式写法,作用范围是当前站点,谁调用谁生效,范围广,真正实现结构表现分离。

★行内样式表,作用范围仅限于当前标签,范围小,结构表现混在一起。  (不推荐使用)


4  标签分类(显示方式)

1.1  块元素

典型代表,Div,h1-h6,p,ul,li

特点: ★独占一行

      ★可以设置宽高

     ★嵌套(包含)下,子块元素宽度(没有定义情况下)和父块元素宽度默认一致。

1.2  行内元素

典型代表 span  ,a,  ,strong , em, del,  ins

特点:★在一行上显示

      ★不能直接设置宽高

      ★元素的宽和高就是内容撑开的宽高。

1.3  行内块元素(内联元素)

典型代表  input  img

特点:★在一行上显示

      ★可以设置宽高     

 

1.4  块元素、行内元素

◆块元素转行内元素

display:inline;

◆行内元素转块元素

display:block;

◆块和行内元素转行内块元素

display:inline-block;

5  css三大特性

1.1  层叠性

当多个样式作用于同一个(同一类)标签时,样式发生了冲突,总是执行后边的代码(后边代码层叠前边的代码)。和标签调用选择器的顺序没有关系


继承性发生的前提是包含(嵌套关系)

   ★文字颜色可以继承

   ★文字大小可以继承

   ★字体可以继续

   ★字体粗细可以继承

   ★文字风格可以继承

   ★行高可以继承

   总结:文字的所有属性都可以继承。

◆特殊情况:

h系列不能继承文字大小。

a标签不能继承文字颜色。

1.1  优先级
 默认样式<标签选择器<类选择器<id选择器<行内样式<!important 

         0         1          10    100      1000      1000以上

◆优先级特点

★继承的权重为0

★权重会叠加

6.1接伪类

a:link{属性:值;}  a{属性:值}效果是一样的。

a:link{属性:值;}       链接默认状态  

a:visited{属性:值;}     链接访问之后的状态

a:hover{属性:值;}      鼠标放到链接上显示的状态      a:active{属性:值;}     链接激活的状态

  :focus{属性:值;}     获取焦点

1.1  文本修饰

text-decoration:none  |  underline   |     line-through

7.1 背景属性

1.1  background-color     背景颜色

1.2  background-image    背景图片

1.3  Background-repeat    repeat(默认)  |  no-repeat |  repeat-x   |  repeat-y    背景平铺

1.4  Background-position  left |  right  | center  |  top  |bottom  背景定位



8  行高

◆浏览器默认文字大小

浏览器默认文字大小:16px

行高:是基线与基线之间的距离

行高=文字高度+上下边距





行高单位

文字大小

20px

20px

20px

2em

20px

40px

150%

20px

30px

2

20px

40px

 

总结:单位除了像素以为,行高都是与文字大小乘积。

行高单位

父元素文字大小

子元素文字大小

行高

40px

20px

30px

40px

2em

20px

30px

40px

150%

20px

30px

30px

2

20px

30px

60px

总结:不带单位时,行高是和子元素文字大小相乘,em和%的行高是和父元素文字大小相乘。行高以像素为单位,就是定义的行高值。

◆推荐行高使用像素为单位。

◆padding连写

Padding:20px;   上右下左内边距都是20px

Padding: 20px30px;   上下20px   左右30px

Padding:20px  30px  40px;  上内边距为20px  左右内边距为30px   下内边距为40

Padding:  20px 30px   40px  50px;  上20px 右30px  下40px  左 50px

内边距撑大盒子的问题

影响盒子宽度的因素

内边距影响盒子的宽度

边框影响盒子的宽度

盒子的宽度=定义的宽度+边框宽度+左右内边距

◆继承的盒子一般不会被撑大

包含(嵌套)的盒子,如果子盒子没有定义宽度,给子盒子设置左右内边距,一般不会撑大盒子。

1.1  外边距

margin-left   | right |  top  | bottom

◆外边距连写

Margin:20px;    上下左右外边距20PX

Margin: 20px 30px;   上下20px  左右30px

Margin: 20px  30px  40px;    上20px  左右30px   下  40px

Margin: 20px  30px   40px 50px; 上20px   右30px   下40px  左50px

垂直方向外边距合并

两个盒子垂直一个设置上外边距,一个设置下外边距,取的设置较大的值。

嵌套的盒子外边距塌陷

解决方法:  1  给父盒子设置边框

           2给父盒子overflow:hidden;   bfc   格式化上下文


1  浮动布局

float:  left  |   right

特点:

★元素浮动之后不占据原来的位置(脱标)

★浮动的盒子在一行上显示

★行内元素浮动之后转换为行内块元素。(不推荐使用,转行内元素最好使用display: inline-block;)

1.1  浮动的作用

◆文本绕图

◆制作导航

◆网页布局

2  清除浮动

当父盒子没有定义高度,嵌套的盒子浮动之后,下边的元素发生位置错误。

◆清除浮动不是不用浮动,清除浮动产生的不利影响。

◆清除浮动的方法

clear: left  | right  | both

工作里用的最多的是clear:both;

★额外标签法

 在最后一个浮动元素后添加标签,。

★给父集元素使用overflow:hidden;    bfc

  如果有内容出了盒子,不能使用这个方法。

★伪元素清除浮动  推荐使用

8  定位

定位方向: left  | right  | top | bottom

◆position:static;  静态定位。默认值,就是文档流。

◆绝对定位

Position:absolute;

特点:

★元素使用绝对定位之后不占据原来的位置(脱标)

★元素使用绝对定位,位置是从浏览器出发。

★嵌套的盒子,父盒子没有使用定位,子盒子绝对定位,子盒子位置是从浏览器出发。

★嵌套的盒子,父盒子使用定位,子盒子绝对定位,子盒子位置是从父元素位置出发。

★给行内元素使用绝对定位之后,转换为行内块。(不推荐使用,推荐使用display:inline-block;)

◆相对定位

Position: relative;

特点:

★使用相对定位,位置从自身出发。

★还占据原来的位置。

子绝父相(父元素相对定位,子元素绝对定位)

★行内元素使用相对定位不能转行内块

◆固定定位

Position:fixed;

特点:

★固定定位之后,不占据原来的位置(脱标)

★元素使用固定定位之后,位置从浏览器出发。

★元素使用固定定位之后,会转化为行内块(不推荐,推荐使用display:inline-block;)







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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值