CSS

  • CSS的导入方式
  • 选择器
    • 基本选择器
    • 层次选择器
      • 后代选择器
      • 子选择器
      • 相邻兄弟选择器
      • 通用选择器
    • 结构伪类选择器
    • 属性选择器*
  • 美化网页元素
    • 字体样式
    • 文本样式
      • 颜色
      • 文本排版
      • 文本阴影
    • 超链接伪类
    • 列表
    • 背景
    • 渐变
  • 盒子模型box
    • 边框
    • 内外边距
    • 圆角边框
    • 阴影
  • 浮动
    • 文档流
    • 父级边框塌陷的问题
  • 定位
    • 相对定位
    • 绝对定位
    • 固定定位
    • z-index
  • 动画

去源码之家,门户网站去进行下载,或者使用element-ui,飞冰ice.work

目前使用Less作为css语言替代器

Cascading Style Sheet 层叠级联样式表

css的初始化:

h1,ul,li,a,body{margin:0;padding:0;text-decoration:none;
}

美化网页

<head><!--编写CSS代码语法:选择器{声明1;声明2;声明3;}--><style>h1{ color:red; }</style>
</head>
<body><h1>  XXX  </h1>
</body>

以上代码进行CSS与HTML分离:建立文件夹css,并建立文件style.css文件

<head><link rel="stylesheet" href="css/style.css">
</head>
<body><h1>  XXX  </h1>
</body>

css/style.css:

/*注释*/
h1{ color:red; }

css优势:

  1. 内容和表现分离
  2. 网页结构表现统一,可以实现复用
  3. 样式十分的丰富
  4. 建议使用独立于html的css文件
  5. 利于SEO(Search Engine Optimization,搜索引擎优化),容易被搜索引擎收录

CSS的导入方式

行内样式:在标签元素里面,编写该style属性,编写样式

内部样式:在head里面,编写该style属性,编写样式

外部样式:在.css文件里面,编写该style属性,编写样式

链接式:html标签:

导入式:css2.1特有的

<style> @import url("css/style.css")</style>

优先级:就近原则

选择器

作用:选择页面上的某一个或者某一类元素

基本选择器

1.标签选择器

会选择到页面所有的标签,例如:h1{ }

<head><style>h1{ color:red; }</style>
</head>
<body><h1>  XXX  </h1>
</body>

2.类选择器 class

好处:可以多个标签归类,是同一个class,可以复用;可以跨标签归类;可以进行写多个类名字例如:.class的名称{ }

<head><style>.xx{ color:red; }</style>
</head>
<body><h1 class="xx">X</h1><h1 class="xx">X</h1><p class="xx xx11 xx22">X</p><!--多个类名字-->
</body>

3.ID选择器

#id名称{ },ID必须保证全局唯一。

<head><style>#id{ color:red; }</style>
</head>
<body><h1 id="xx">X</h1>
</body>

优先级:不遵循就近原则,ID选择器 > 类选择器 > 标签选择器

层次选择器

减少id和class的使用

后代选择器

在某个元素后面

body p{ background:red } /*对body后面的所有p标签进行操作*/
<p> p </p> /*进行操作*/
<li><p> p </p> /*进行操作*/</li>
子选择器

在某个元素后面的第一代才有

body>p{ background:red } /*对body后面的所有第一级p标签进行操作*/
<p> p </p> /*进行操作*/
<li><p> p </p> /*不进行操作*/</li>
相邻兄弟选择器

向下一个同辈,进行选择

.active + p{ background:red } /*对body后面的class是active的p标签之后的一个p标签进行操作*/
<p class = "active">p</p>
<p> p </p> /*进行兄弟选择器操作*/
<p> p </p> /*不进行操作*/
<li><p> p </p> /*不进行操作*/</li>
通用选择器

向下面所有同辈,进行选择

.active ~ p{ background:red } /*对body后面的class是active的p标签之后的一个p标签进行操作*/<p class = "active">p</p>
<p> p </p> /*进行通用选择器操作*/
<p> p </p> /*进行通用选择器操作*/
<li><p> p </p> /*不进行操作*/</li>

结构伪类选择器

伪类:条件;加一个过滤

<head><style> /*ul的第一个子元素*/ul li:first-child{  }/*ul的最后一个子元素*/ul li:last-child{  }/*选择p1,定位到父元集,选择当前第一个元素选择当前p元素的父级元素body,选中父级元素的第一个,并且是当前元素*/p : nth-child(1){  }/*选中父元素下的p元素的第二个,类型*/p : nth-of-type(2){  } /*鼠标移动到a标签进行高亮*/a.hover{ }</style>
</head>
<body><p> p1 </p> <!--body元素的第一个--><a href="">xx</a><ul><li><p> p </p> </li><!--ul的第一个子元素--><li><p> p </p> </li><li><p> p </p> </li></ul>
</body>

属性选择器*

对a标签存在id属性值为first的元素进行操作

a[id= first] {   }

对a标签存在id属性的元素进行操作

a[ id ] { }

[ 属性名 ] / [ 属性名 = 属性值(正则) ]

对a标签存在class属性的元素进行操作

a[ class ] { }

对于有多个属性值则使用*=,表示只有包含这个属性值就进行操作

<!--使用a[ class *= "link" ] {   } 可以对下列class包含link的元素进行操作-->
<a href="" class = "link item">xx</a>
<a href="" class = "link first">xx</a>
<!--使用a[ hred ^= http ] {   } 可以对下列href以http开头的元素进行操作-->
<a href="http:xx" class = "link item">xx</a>
<a href="http:xyy" class = "link first">xx</a><!--使用a[ hred $= y ] {   } 可以对下列href以y结尾的元素进行操作-->
<a href="http:xxy" class = "link item">xx</a>
<a href="http:xyy" class = "link first">xx</a>

美化网页元素

<span>突出文本的标签在css里面添加样式</span>

字体样式

<style>body{font-family: "Arial Black" ,楷体; /*字体,中文楷体,英文"Arial Black*/color:#a13d30;font-size:50px;font-wright:bolder;}p{font: oblique bolder 12px "楷体"}
</style>

font-family:字体

font-size:字体大小,xxpx:xx像素,xxem:xx个缩进(两个字)大小

font-wright:字体粗细,bolder,lighter,数值

font:样式 粗细 大小 字体

文本样式

颜色

color

单词(red),

RGB{ #FF0000,rgb( 255,0,0)},RGB:0-F

RGBA( rgba( 255, 0, 0, 0.5 ) ), RGBA的A:0-1

文本排版

位置:text-align:right,left,center

首行缩进:text-indent : 12em;

背景:background : #000000;

行高:line-height : 10px; ;和块的高度(height)一致就可以上下居中

下划线:text-decoration : underline;

中划线:text-decoration : line-through;

上划线:text-decoration : overline;

去掉a标签(超链接)的下划线:text-decoration : none;

文本对齐:vertical-align:middle;

<head><style>img,span{vertical-align:middle; /*center...*//*对齐要有参照物,字体对齐的参照物是img*/}</style></head>
<body><p><img src="xx.png" alt=""><span>asdsd<span> <!--asdsd与img对齐--></p>
</body>
文本阴影

text-shadow : h-shadow v-shadow blur color

水平位置 垂直位置 模糊距离(可选) 阴影颜色 (可选)

超链接伪类

进行对超链接修饰,link–visited–hover–active 按照顺序去写

<head><style>/*默认颜色*/a{text-decoration:none;color:#000000;}/*未访问的状态*/a.link{color:blue;}/*已访问的状态*/a.visited{color:red;}/*鼠标悬浮颜色*/a:hover{color:orange;font-size:10px;}/*鼠标按住未释放的状态*/a.active{color:green;}</style></head>
<body><p><a href ="#">xxx</a></p><p><a href ="#"><img src="xx.png" alt=""></a></p>
</body>

列表

ul li { }

list-style:

  • none:去掉原点
  • circle:空心圆
  • decimal:数字
  • square:正方形

text-indent:1em

背景

div{width:100px;height:100px;/*border:边框的大小  属性(实线,虚线)  颜色*/border: 1px solid red;/* background-image:背景是图片*/background-image:url("xx.jpg");/*background-repeat:平铺方式 repeat-x 水平铺 repeat-y 竖直铺 repeat 平铺(默认-重复设置图片进行铺满)  no-repeat 不平铺(只有一张图片)round 环绕*/background-repeat:repeat-x;/*可以进行放在一行:颜色,图片,图片位置,平铺方式*/background:red url("xx.jpg") 20px 10px no-repeat;
}

渐变

www.grabient.com/

background-image : 径向渐变,圆形渐变

盒子模型box

margin:外边距

padding:内边距

border:边框

盒子模型尺寸计算:border+margin+padding+内容元素

边框

/*border:边框的大小  属性(实线,虚线)  颜色*/
border: 1px solid red;
border: 1px dashed black;

内外边距

margin- 外边距, border- 边框, padding- 内边距:+

top,bottom,left,right,上下左右

margin:0; //上下左右一致

margin:0 auto ; //上下一致和左右一致,在div中使用外边距进行居中,前提是块元素有固定的宽度,或者在div中设置display:block。

有时候需要在在div中将margin:0 auto和text-align:center(内联元素居中)结合,将文本居中。简单来说就是要讲元素设置为div块元素。

margin:0 0 0; //上,左右,下分别写

margin:0 0 0 0; //上,右,下,左分别写

圆角边框

div{height:100px;border-radius:100px;/*上下左右的半径都是100px,可以使用百分比*/border-radius:100px  20px;/*左上右下的半径都是100px,左下右上的半径是20px*/border-radius:100px  20px  10px 5px;/*左上,右上,右下,左下,顺时针*/border-radius:100√2px;/*上下左右的半径都是高度的√2倍,此时为圆*/
}

圆圈: 圆角 = 半径+边框

阴影

box-shadow: 10px 10px 100px yellow /*x  y 阴影半径 颜色 */

浮动

文档流

块级元素:独占一行

h1-h6,p,div,列表等等

行内元素:不独占一行

span,a,img,strong等等

行内元素可以被包含在块级元素中,反之不可以

display:设置元素状态,行内元素排列方式

  • block 块级元素
  • inline 行内元素
  • inline-block 块元素,但是可以内联,在一行,将块元素变成行元素,使之变成一行
  • none 没有

float:(left,right) : 浮动,独立于原来的背景。float的原始作用是为了实现文字环绕的作用,可以理解为部分脱离文档流。

clear:both:清除浮动效果,意味着这个盒子的顶边框将会低于在它之前的任何浮动盒子的底外边距,按照标准文档流进行顺序(向下)排版。

父级边框塌陷的问题

使用float会使元素进行浮动,但是父级边框会坍塌,浮动元素不在父级边框内。

解决方法:

  1. 增加父级元素的高度。固定高度时有限制。

  2. 浮动元素增加一个空的div标签,清除浮动。代码要避免空div。

.clear{claer:both;margin:0;padding:0;
}
  1. overflow:隐藏多余元素,在父级元素进行添加。下拉的场景避免使用。

overflow:hidden:如果有高度,则超过高度的地方直接隐藏切掉。

overflow:scroll:添加滚动条

overflow:auto

  1. **父类添加伪类:after。推荐使用。
/*在父类father之后操作*/
#father:after{content:'';/*添加一个空白内容==空的div*/display:block;/*将文本变为一个块*/clear:both;/*清除浮动*/
}

定位

相对定位

相对于原来的位置进行移动,元素设置此属性之后仍然处于文档流中,不影响其他元素布局。保留原来的位置。

position:relative;/*上下左右*/
top:-20px;/*向上移动,相对于其原来位置的顶部,向下移动-20px*/
left:20px;/*相对于其原来位置的顶部,向左移动20px*/
bottom:10px;/*相对于其原来位置的底部,向上移动10px*/
right:10xp;

绝对定位

没有父级元素的情况下,相对于浏览器定位。相对于父级定位时,在父级元素中添加相对定位,在父级范围内移动。相对于浏览器/父级位置进行移动,元素设置此属性之后不在文档流中,原来的位置不保留。

position:absolute;/*上下左右*/
top:-20px;
right:10xp;

固定定位

position:fixed;/*导航栏*/
bottom:10px;
right:10xp;

z-index

层级概念,默认为0,要浮现设置为999层。

opacity:0.5;/*背景透明度*/
filter:Alpha(opacity=50);/*IE8之前背景透明*/

动画

使用div进行对每一帧设置。

canvas动画库

Web三剑客-CSS笔记相关推荐

  1. Web前端开发笔记——HTML和CSS

    文章目录 一.HTML基础笔记 1.基础概念:标签.元素.属性.文件结构 1.1标签 1.2元素 1.3属性 1.4文件结构 2.标签 2.1标题:h1~h6 2.2段落:p 2.3段内换行:br 2 ...

  2. html5 居于页面中心,css笔记:如何让一个div居于页面正中间

    如何让一个div居于页面中间,我今天说的是让一个div水平居中同时垂直居中,而不是简单的top:50%,left:50%.当然,我们就按一开始的思路写一下:top,left属性都设为50%,看一下效果 ...

  3. Web前端开发笔记——第二章 HTML语言 第四节 超链接标签

    目录 前言 一.超链接标签 (一)链接其它子网页 (二)链接其它站点 (三)虚拟超链接 二.从当前页面链接到指定位置 三.链接的访问情况 四.在新窗口中打开链接 例题 结语 前言 本节介绍超链接标签即 ...

  4. CSS笔记-除了a标签外的hover属性的应用

    CSS笔记-除了a标签外的hover属性的应用内容简介:以下写的可能对于大部分网友来说可能很简单,但是我自己确实是不知道的. 有一段这样的html: div a href=# img alt=i am ...

  5. Django Web框架教学笔记-1

    <Django Web框架教学笔记> 目录 文章目录 <Django Web框架教学笔记> 目录 Django框架的介绍 Django的安装 Django框架开发 创建项目的指 ...

  6. 慕课学习史上最全零基础入门HTML5和CSS笔记

    慕课学习史上最全零基础入门HTML5和CSS笔记 Html和CSS的关系 学习web前端开发基础技术需要掌握:HTML.CSS.JavaScript语言.下面我们就来了解下这三门技术都是用来实现什么的 ...

  7. Web Components 学习笔记一: Web Components是什么?解决了什么问题?

    公众号:妙蛙种子前端 文章原文地址:Web Components笔记一: Web Components是什么?解决了什么问题? | 妙蛙种子 - 记录WEB前端技术学习成长过程的博客 Web Comp ...

  8. Java web与web gis学习笔记(二)——百度地图API调用

    系列链接: Java web与web gis学习笔记(一)--Tomcat环境搭建 Java web与web gis学习笔记(二)--百度地图API调用 JavaWeb和WebGIS学习笔记(三)-- ...

  9. HTML与CSS笔记

    HTML与CSS笔记 一.HTML: IDE快捷键: tab:补全标签 ctrl+/:快速注释 常用标签: <h1.h2--h6:六级标题 <p:段落 <strong:粗体 < ...

最新文章

  1. opencv拖动进度条_OpenCV GUI基本操作,回调函数,进度条,裁剪图像等
  2. python--面向对象--14
  3. 梓益C语言学习笔记之指针
  4. 文件压缩 Huffman编码 (java)
  5. thinkphp 框架自动加载原理_这下你应该理解ThinkPHP的Loader自动加载了
  6. Calendar类和GregorianCalendar类
  7. C/C++——求数组长度及反序
  8. 6.网络层(4)---IP多播,NAT
  9. Qt音视频开发45-视频传输TCP版
  10. mysql 存储特殊符号_mysql 存储特殊符号
  11. UNITY NGUI IPHONEX完美适配
  12. xp进入win7计算机要密码怎么设置密码,XP系统设置直接跳过密码的多种方法
  13. BlumNet: Graph Component Detection for Object Skeleton Extraction阅读笔记
  14. 论文阅读_对比学习_SimCSE
  15. AJAX获取数据然后显示在页面
  16. linux下emmc自动格式化和自动挂载
  17. GO 学习笔记(四)GORM框架
  18. 查找素材终极神器,视频片段查找神器!
  19. 系统分析师上午题-第 1 章 计算机组成与体系结构
  20. web api 数独 求解代码 使用穷举回溯法

热门文章

  1. 百度编辑器Editor 1.4.3.2 asp.net版最新使用方法
  2. 2021年全球超导体收入大约735.7百万美元,预计2028年达到823.7百万美元
  3. 自然语言处理(基于预训练模型)01FMM分词算法
  4. EasyNVR摄像机网页直播之问题解决:Failed_SYSTEM_CurrentCont......_Application_EasyNVR_Service registry key alr
  5. 全国计算机竞赛保送清华,全国数学奥赛金牌、保送清华,别人家的孩子了解一下...
  6. Spring 编程式定时任务
  7. 基于阿里云ECS搭建云上博客!超详细图文步骤!
  8. Android应用开发-小巫CSDN博客客户端UI篇
  9. 53 一般过去时+现在完成时+现在完成进行时
  10. 新手入门WPF之TreeView控件(一)