CSS核心知识点浅谈

CSS简介:


css:Cascading Style Sheet 层叠样式表,简称样式表

css的目的是实现网页布局,对网页进行美化
学习CSS其实就是学习一堆的选择器和属性。

CSS语法:


引入CSS

·行内样式

直接在标签里添加style属性,如:

<p style="color: red;"></p>

·内部样式

写在头部标签head中,如:

<head>
	<style>
    
	</style>
</head>

·外部样式

内容写在后缀为.css的文件在中,通过link标签在头部标签head中引用,如

<head>
	<link rel="stylesheet" href=" ">
</head>

基本选择器

·标签选择器

最简单的选择器,选中页面中同类型的标签

·ID选择器

先起一个id名 然后通过#id名来选中
行业的潜规则:ID名一般是唯一的

起名字时注意以下几点:
1)以英文字母开头
2)区分大小写
3)可以有数字,下划线,短横线
4)#和名字之间不要有空格

·CLASS选择器

先起一个class名 然后通过.class名来选中

CLASS起名字时注意以下几点:
1)以英文字母开头
2)区分大小写
3)可以有数字,下划线,短横线
4).和名字之间不要有空格

·其他选择器

·通配符选择器 *{ margin:0; padding:0}
·伪类选择器 a:hover
·分组选择器 , 隔开
·后代选择器 空格 隔开

本人强烈建议后面的您可以不用看了,强烈建议

文字设置

·font-style

设置字体是否倾斜

·italic  	表示倾斜  
·normal  	表示不倾斜

注意:italic 和 oblique 都能让字体倾斜 ,前者会找到新的斜体字型来替代,后者就是普通的倾斜。
如果是中文,你想让中文进行倾斜,统一使用 italic

·font-weight

设置字体的是否加粗

·bold    表示加粗
·normal  表示不加粗

·font-size

设置字体的大小

不同的浏览器的默认字体是不同的,有的12px,有的是14px。
谷歌浏览器最小字体是12px ,低于12px,会以12px进行显示。

·font-family

设置字体的类型

一般会设置多种字体,计算机优先选择前面的字体,前面的字体没有,则会以此向后选择,直到使用默认字体。

·color

设置字体的颜色

·单词表示法 
·rgb表示法 
·16进制表示法

注意:a 标签并不能继承颜色属性,需要单独另外设置

·font

设置字体的复合属性

    ·font:font-style  font-weight  font-size  font-family
    ·font-style和font-weight 可以不写
    ·font-size 和font-family必须要写,且位置不能换
    各个属性之间用空格隔开

小知识:在使用 font 这个复合属性时,常常将 line-height(行高)与 font-size写在一起,font-size / line-height

文本设置

·text-decoration

设置文本的修饰线

·underline       下划线
·overline        上划线
·line-through    删除线
·none            无

·text-indent

设置文本的缩进

单位:em em是字体的高度,常用2em来缩进段落

·text-align

设置文本的水平对齐方式

·left            默认值
·center          居中对齐
·right           右对齐
·justify         只对英文有效,两端对齐

·line-height

设置文本的行高

·使用px设置
·使用倍数设置

小知识:当 line-height等于盒子高度时,可以实现水平居
真的不要再看了

盒子模型

·width

设置盒子的内容宽度

表示元素的宽度,不是指盒子的宽度
盒子的宽度:width+padding-left+padding-right+border-left+border-right+margin-left+margin-right

·height

设置盒子的内容高度

表示元素的高度,不是指盒子的高度
盒子的高度:height+padding-top+padding-bottom+border-top+border-bottom+margin-top+margin-bottom

·padding

设置盒子的内填充

表示内容与边框之间的距离,是四个方向的复合属性,可以分开写
padding-top:上填充
padding-right:右填充
padding-bottom:下填充
padding-left:左填充

也可以只写一个padding,后面可以跟上1个值,2个值,3个值,4个值:
1个值:padding:10px; 表示4个方向上的内填充都是10px
2个值:padding:10px 20px; 第1个值表示上下,第2个值表示左右
3个值:padding:10px 20px 30px; 第1个值表示上下,第2个值表示左右,第3个值表示下
4个值:padding:10px 20px 30px 40px; 顺序是上,右,下,左

·border

设置盒子的边框

复合属性,由三部分组成
border-width:边框的粗细
border-style:边框的样式
border-color:边框的颜色

注:与padding一样,也是四个方向的复合属性

·margin

设置盒子的外填充

width、margin-left 和 margin-right 可以设置为 auto
当3 个都为 auto,则两个外边距都会设置为 0,而 width 尽可能能宽
设置 margin时,经常会出现块状元素重叠现象,解决办法如下
	兄弟元素重叠:只设置 margin-top或 margin-bottom
	父子元素重叠:父元素加 padding或 border

注:与padding一样,也是四个方向的复合属性

·background

设置盒子的背景颜色

background-color:  			 	颜色值
background-image:url ()  		添加图片
	默认情况下,如果图片小于元素,在水平和垂直方向上都会重复这张图片
	默认情况下,图片的左上角与元素的左上角对齐
background-repeat      用来控制背景图片在元素中水平和垂直方向上是否重复
	repeat		也是默认值,在水平和垂直方向上都平铺
	no-repeat	完全不重复, 有且只有一张图片
	repeat-x	在水平方向上平铺
	repeat-y	在垂直方向上平铺(向下为正
background-position      用来设置背景图片的位置
   格式:		background-position:position-x position-y
   使用关键字:	top, left, right, bottom
   使用百分比:	0%, 50%, 100%(不常用
   使用像素值:	25px, 100px
   如果使用像素值作用属性值时,可以设置负值
   除了像素值,还可以使用关键字: 水平方向有:left	center	right
   垂直方向上有:top	center	bottom
background-attachment   定义背景图片是随着元素的滚动还是固定(几乎不用)
   scroll	表示背景图片会随着滚动条的滚动而滚动
   fixed	固定

background 中的背景颜色,默认值 transparent, 透明的
background 所覆盖的区域,包括 padding 和内容区域
在设置背景时,很容易覆盖前面的设置。原因是 background 的顺序是有要求
不要写两个background 属性
把背景颜色也写在 background 这个复合属性里面
行级元素对于 width 和height 不适用,对于 margin 和 padding 在垂直方向不适用

float布局

float: left / right / both
目的:让行标签并排显示

浮动有三大特点,四大表现
特点:包裹性,破坏性,块级框
表现:脱标,贴靠,字围,收缩

清除浮动影响
overflow:hidden; 父元素影响
clear:both; 下面的兄弟元素影响

display 显示的意思 用来设置元素显示状态
block:块 inline:行内 none:隐藏 inline-block:行内块
设置为 none 后,完全不占页面的任何空间

flex布局

flex布局:弹性布局
flex的目的:让男标签可以并排显示
如果使用Flex布局,就不需要想浮动和清除浮动了。

 lex布局四个概念: 	
 	容器:如果给盒子加上了display:flex,那么这个盒子就是容器。 	
 	项目:容器的直接子元素就是项目(儿子),默认情况下,项目是水平向右排列。 	
	主轴:默认主轴水平向右,项目就在主轴上进行排列,项目的排列方向就是主轴的方向。项目是从主轴的起点开始排列(把握住) 	
	交叉轴:和主轴垂直的那个轴就是交叉轴。

关于容器的相关的属性(6个(其实就5个))
flex-direction:设置主轴的方向
flex-wrap:控制是否换行
flex-flow:是前两个是的简写
justify-content:如果主轴上有富余空间,处理主轴上的富余空间
align-items:如果有一根主轴,处理交叉轴上的富余空间
align-content:如果有多根轴,处理多根主轴的富余空间

flex-direction: 用来改变主轴的方向   direction 是方向的意思  
	row: 默认的方向  水平向右   起点在左  终点在右
	column:垂直向下  起点在上  终点在下
	row-reverse: 水平向右   起点在右  终点在左
	column-reverse: 垂直向上   起点在下  终点上

flex-wrap: 当项目一行装不下时,是否换行
	nowrap: 默认值  表示不管有多个项目 都进行宽度的压缩  不换行
	wrap: 当一行装不下时,自动换行
	wrap-reverse: 用的不多  从容器下面开始分布,满一行换行 了解就ok了~

flex-flow:flex-direction属性和flex-wrap属性的简写形式
	flex-flow:row wrap; =  flex-direction:row; +  flex-wrap:wrap;

justify-content: 处理主轴上面的富余空间   jutify意思是:调整使全行排满;使每行排齐;使齐行
	flex-start: 默认值  表示项目从主轴的开始位置排列  富余空间就是最后面
	flex-end:表示项目从后开始排列 富余空间在前面
	center:表示项目从中间开始排列  富余空间在两侧
	space-between: 富余空间在项目和项目之间
	space-around: 富余空间环绕项目

align-items:
	项目在交叉轴上如何对齐   如何处理项目在交叉轴上的富余空间
	flex-start:表示项目在交叉轴的开始位置开始排列  富余空间在下面
	flex-end: 项目在交叉轴的终点位置开始排列  富余空间在上面
	center: 项目在交叉轴的中间位置开始排列  富余空间上下都有
	baseline: 项目的第一行文字的基线对齐
	stretch: 默认值  如果项目未设置高度或设为auto,将占满整个容器的高度(撑满整个交叉轴)

align-content: 用来设置多根主轴的位置关系,如果就一个主轴,此属性没有效果
	有多根主轴后,如何处理它们在交叉轴上的富余空间。
	使用这个属性的前提:1)肯定要允许换行   3)有多根主轴
	flex-start: 多根主轴从上进行排列   富余空间在下面
	flex-end: 多根主轴从下进行排列   富余空间在上面
	center: 多根主轴从中间进行排列     富余空间上下都有
	space-between: 富余空间在多根主轴之间
	space-around :富余空间环绕多根主轴

关于项目的相关的属性:  下面的6个属性一定是加给项目的
	order:定义项目的排列顺序。数值越小,排列越靠前,默认为0。
	flex-grow: grow 表示生长  如果有富余空间  可以让项目长大  了解
	flex-shrink: 压缩  在不换行情况下  一行装不下了  设置每一个项目的压缩比例  了解
	flex-basis:设置项目在主轴上占多少比例
	align-self:处理单独一个项目它在交叉轴的富余空间
	flex:是flex-grow, flex-shrink 和 flex-basis的简写,默认值为0 1 auto。

哎,既然已经看到这了,那就看完吧

层布局定位

relative:相对定位
absolute:绝对定位
fixed:固定定位
static 不定位,流动布局

相对定位   position:relative  
	top, right, bottom, left 设置偏移距离
	相对于其正常位置应该出现在哪里,保持其未定位前的形状
	原本所占的空间仍保留,作为绝对定位的参考点
绝对定位(子绝父相) position: absolute
	相对于其父定位元素,元素会从文档流中完全删除,生成一个块级框
	position:relative   用来设置参考点  未设置找父的父:body
	z-index:    来确定位置,值越大,就越靠上
固定定位    position:fixed   配合 top, left, right, bottom
	固定定位的参考点是当前窗口

列表布局

list-style-image: 给列表项使用图片作为符号,数字
list-style-position: 列表项符,数字的位置
list-style-type: 列表项符号、数字类型
list-style 也是一个复合属性

经典用法:list-style:none    list-style-type:none;

表格设计

    table   tr      th/td
    caption  表格标题   thead  tbody  tfoot
border-collapse:   设置表格边框
    separate 分隔,默认值   collapse  消融,融合
caption-side:       标题所处位置
    top  表格上方       bottom   表格下方
border-spacing  单元格边框之间的距离
background      默认颜色透明的  transparent

居中方案

水平居中方案:
	text-align: center;  让盒子中的文字,图片,input输入框等水平居中。
	margin:0 auto;  让一个盒子水平居中  0设置盒子上下的margin   auto表示盒子左右的margin,auto尽可能的大
垂直居中方案:
	line-height:盒子的高度   让文本垂直居中  只适于单行的文本  不适用于多行

大杂烩(看不懂)

lable 行内元素  id属性声明一个值
溢出    overflow
    visible  表示可见的,默认
    hidden      隐藏
    scroll:生成一个滚动条  左和下都有
    auto    自动    有滚动条,width不变,内容区变小
display:block;  
    行内元素变成块级元素        inline 行内
    none  隐藏,不显示,完全不占据空间。     inline-black 行内块
border-radius:15px;
    设置边框圆角
white-space 指定元素内的空白怎么处理   
  	white-space: nowrap;     不换行,直到遇到<br>标签
   	overflow: hidden;
   	text-overflow: ellipsis; 显示省略符号来代表被修剪的文本。

看不懂没关系,因为我好像也看不懂,嘻嘻

时间也有点紧,本人要去敲代码了,曾立志敲三十年代码   
所以导致后面略显粗糙,而且也没加实例代码
如果有需要的点个关注,评论一下,鄙人再整理一份CSS精华大全免费赠送
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值