CSS基础知识整理

CSS发展史

  1. css1.0
  2. css 2.0
    (1)div+css布局
    (2)html与css结构分离思想
    (3)网页变得简单
    (4)利于SEO
  3. css2.1
    (1)浮动 float
    (2)定位 position
  4. css3
    (1)圆角 (border-radius)
    (2)阴影 (text-shadow、box-shadow)
    (3)动画 animation
    (4)浏览器兼容性

CSS入门

基本语法

原则:就近原则
使用方式:
(1)行内样式
(2)内部样式
(3)外部样式引入
① style 页面先渲染骨架,再添加样式

@import url(../css/style.css)

② link 常用

<link rel="stylesheet" type="text/css" href="../css/style.css"/>

css选择器

基础选择器

  1. 标签选择器 span
  2. id选择器 #id
  3. css选择器 .class

高级选择器

层次选择器

  1. 后代选择器--->所有的后代--->空格
  2. 子代选择器--->只有一代,只是儿子辈(父子关系)--->>
  3. 相邻兄弟选择器--->同级,向下一个--->+
  4. 通用选择器--->同级向下多个--->~

结构伪类选择器

  1. p:nth-child(1)--->顺序 p元素的父级的子集的第一个元素,如果是p则有样式,否则没有样式
  2. p:nth-of-type(1)--->类型 p元素的父级的子集中的p元素的第一个样式
  3. ul li:first-child--->第一个li样式
  4. ul li:last-child--->最后一个li样式

属性选择器

  1. 属性名(包含属性名即可,不要用引号)
    a[name] {color: red;}
  2. 属性名 绝对等于
    a[name='username'] {color: red;}
    与简单属性选择器类似,可以把多个属性-值选择器链接在一起来选择一个文档。
    a[href="http://www.w3school.com.cn/"][title="W3School"] {color: red;}
  3. 属性名正则匹配
    1. 属性名 以什么开头--->a[class^="123"] {color: red;}
    2. 属性名 以什么结尾--->a[class$="123"] {color: red;}
    3. 属性名 包含什么--->a[class*="123"] {color: red;}

美化页面

字体

font-family
font-size
color(rgb  rgba)
font-weight
text-shadow 文字阴影

排版网页

text-align='center'      文字居中,水平对齐
vertical-align='middle'      文字垂直居中
text-indent='2em'      首行缩进
line-height      行高,上下居中
text-decoration      文本描述,上、中、下、无下滑线(overline   line-through  underline   none)

超链接伪类

:link      未访问链接
:hover      鼠标悬停链接
:active      正在访问链接
:visited      已访问链接

列表样式

list-style     
none      去掉样式
disc      实心圆(默认)
circle       空心圆
decimal      数字
square      实心方块

背景样式

背景颜色

渐变背景 https://www.grabient.com/

background-image: linear-gradient(43deg, #4158D0 0%, #C850C0 46%, #FFCC70 100%);
background-image: linear-gradient(103deg, #0093E9 0%, #80D0C7 100%);

图片 + 渐变色的实现
background: url(../../images/20210818/individual/individual_bgImage.png) no-repeat,linear-gradient(303deg, #186EE8 0%, #1B6FE8 9%, #2274E9 19%, #2B79EA 28%, #3481EB 38%, #3D89EC 48%, #4591ED 57%, #4D99EF 66%, #54A0F0 74%, #5AA7F1 81%, #60AEF2 88%, #64B3F4 93%, #67B7F4 97%, #69B9F5 99%, #6ABAF5 100%)

背景图片

background
background-image      背景图片
background-repeat      背景平铺样式
background-color        背景颜色
background-position      背景定位
background-size          背景大小

不常用的属性
background-attachment      设置背景图像是否固定或者随着页面的其余部分滚动。
background-blend-mode          属性定义了背景层的混合模式(图片与颜色)。
background-clip                    规定背景的绘制区域:
background-origin              规定 background-position 属性相对于什么位置来定位。

background-attachment 设置背景图像是否固定或者随着页面的其余部分滚动。

属性值 描述
scroll 背景图片随着页面的滚动而滚动,这是默认的。
fixed 背景图片不会随着页面的滚动而滚动。
local 背景图片会随着元素内容的滚动而滚动。
initial 设置该属性的默认值。 阅读关于 initial 内容
inherit 指定 background-attachment 的设置应该从父元素继承。

background-origin 规定 background-position 属性相对于什么位置来定位。

描述
padding-box 背景图像相对于内边距框来定位。
border-box 背景图像相对于边框盒来定位。
content-box 背景图像相对于内容框来定位。

盒子模型

外边距

margin

边框

border

内边距

padding

内容

content

盒子模型计算

margin+border+padding+内容的宽高

圆角边框

order-radius
顺序: 左上,右上,右下,左下
画圆是order-radius=半径
画扇形,除了order-radius,还需要在意宽和高

border-radius: 1-4 length|% / 1-4 length|%;
描述
length 定义弯道的形状。
% 使用%定义角落的形状。

盒子阴影

box-shadow

box-shadow: h-shadow v-shadow blur spread color inset;
说明
h-shadow 必需的。水平阴影的位置。允许负值
v-shadow 必需的。垂直阴影的位置。允许负值
blur 可选。模糊距离
spread 可选。阴影的大小
color 可选。阴影的颜色。在CSS颜色值寻找颜色值的完整列表
inset 可选。从外层的阴影(开始时)改变阴影内侧阴影

盒子模型兼容性问题

W3C盒子模型(标准盒模型)和IE盒子模型(怪异盒模型)

标准盒模型

根据 W3C 的规范,元素内容占据的空间是由 width 属性设置的,而内容周围的 padding 和 border 值是另外计算的;即在标准模式下的盒模型,盒子实际内容(content)的width/height=我们设置的width/height;
盒子总宽度/高度=width/height+padding+border+margin。

IE盒子模型

在该模式下,浏览器的 width 属性不是内容的宽度,而是内容、内边距和边框的宽度的总和;
即在怪异模式下的盒模型,盒子的(content)宽度+内边距padding+边框border宽度=我们设置的width(height也是如此),
盒子总宽度/高度=width/height + margin = 内容区宽度/高度 + padding + border + margin。

两种模式下如何解决样式的兼容性问题

建议不要给元素添加具有指定宽度的内边距,而是尝试将内边距或外边距添加到元素的父元素和子元素。

CSS3指定盒子模型种类

box-sizing 属性允许您以特定的方式定义匹配某个区域的特定元素。
box-sizing: content-box;//宽度和高度分别应用到元素的内容框。在宽度和高度之外绘制元素的内边距和边框。
box-sizing: border-box;// 为元素设定的宽度和高度决定了元素的边框盒。就是说,为元素指定的任何内边距和边框都将在已设定的宽度和高度内进行绘制。通过从已设定的宽度和高度分别减去边框和内边距才能得到内容的宽度和高度。
box-sizing: inherit;// 规定应从父元素继承 box-sizing 属性的值。
即box-sizing属性可以指定盒子模型种类,
content-box指定盒子模型为W3C(标准盒模型),
border-box为IE盒子模型(怪异盒模型)。

参考资料: https://www.imooc.com/article/68238/

浮动

display属性

inline
block
inline-block

描述
none 此元素不会被显示。
block 此元素将显示为块级元素,此元素前后会带有换行符。
inline 默认。此元素会被显示为内联元素,元素前后没有换行符。
inline-block 行内块元素。(CSS2.1 新增的值)
inherit 规定应该从父元素继承 display 属性的值。

浮动 float

描述
left 元素向左浮动。
right 元素向右浮动。
none 默认值。元素不浮动,并会显示在其在文本中出现的位置。
inherit 规定应该从父元素继承 float 属性的值。

清除浮动 clear

描述
left 在左侧不允许浮动元素。
right 在右侧不允许浮动元素。
both 在左右两侧均不允许浮动元素。
none 默认值。允许浮动元素出现在两侧。
inherit 规定应该从父元素继承 clear 属性的值。

解决父级边框塌陷问题(4种方法)

方法一

直接给父级定义高度

方法二

在最后添加空div标签,添加属性clear:both;

方法三

父级元素增加overflow属性 overflow:hidden;

方法四

给父级元素增加伪类选择器

:after{  content:"";  display:block;  clear:both;}

定位

默认定位 static

相对定位 relative

相对于原来的位置进行偏移,还是在标准文档流中,原来的位置会被保留

绝对定位 absolute

没有父级元素的情况下,相对于浏览器进行定位
如果父级元素存在定位,就相对父级元素进行定位
并且在父级元素内部进行偏移
不在文档流中,原来的位置不会被保留

固定定位 fixed

定位操作

top
right
bottom
left

z-index属性

z-index 属性指定一个元素的堆叠顺序。
拥有更高堆叠顺序的元素总是会处于堆叠顺序较低的元素的前面。

opactiy属性

透明度(0~1)

opacity:0.5;
filter:Alpha(opacity=50)
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,657评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,662评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,143评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,732评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,837评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,036评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,126评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,868评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,315评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,641评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,773评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,859评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,584评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,676评论 2 351

推荐阅读更多精彩内容

  • 1 什么是CSS? CSS通常称为CSS样式表或层叠样式表(级联样式表),主要用于设置HTML页面中的文本内容(字...
    前白阅读 651评论 0 8
  • 对于 CSS,由于过度依赖美工导致 CSS 很弱,所以这次好好学习 CSS相关东西。 盒子模型 盒子模型是由 ma...
    VioletJack阅读 254评论 0 0
  • 1. 行内元素(内联元素) 特点:默认宽度就是内容的实际宽度,默认水平排列,不支持宽高,margin,paddin...
    翻滚的前端程序员阅读 167评论 0 1
  • 作为Web前端基础的三大重要组成部分之一的CSS,它主要用于设置HTML页面中的文本内容(字体、大小、对齐方式等)...
    浅浅而谈阅读 1,189评论 0 0
  • 1.CSS:Cascading Style Sheet层叠样式表,又称风格样式表Style Sheet,用于设计网...
    itming阅读 652评论 0 7