(写在前边~)过了这么长时间,才写博客,最近实在是太忙了,做了两个项目,一个项目用于练手,自我感觉做的很漂亮,一个项目是一套完整的页面体系,答辩时候老师给了100分和99分,并让我打包上传,我很是感动,我的努力终于得到了认可,继续加油!!

本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用.

**转载请注明 出自 : luogg的博客园 ** 谢谢配合!

CSS的学习

day01

CSS概述

  1. CSS作用:层叠样式表(Cascading Style Sheets),美化页面,布局页面,修饰元素的外观,修改元素的位置.
  2. CSS基本机构:行内样式,内嵌样式,外联样式(link href="" rel="stylesheet" type="text/css")
  3. CSS基本语法:选择器{ 属性:属性值;}
  4. CSS特性:
    • 样式的优先级特性:行内样式,内嵌样式,外联样式,哪个离得被修饰元素近,哪个修饰就先起到作用 (就近原则)
    • 继承特性:当元素属于父-子关系时,给父类定义一个样式,子类也会继承该样式.
    • 冲突特性:行内样式会和隐含样式冲突,列入b元素加粗,font-weight:normal字体不加粗.会执行后者.
  5. 查看选择器以调试bug:f12.

选择器

选择器就是找到文档中某个元素或者某一批元素,用来设置样式.

基本选择器

  1. 通用选择器: *{} 设置所有元素样式

  2. 类型选择器: 标签名开头{} 例如:div{}

  3. 类选择器:标签中定义class之后,以.class{}开头

    • 缩小范围的类选择器:想为多个相同的类中的某一个设置特定的样式可以使用(标签名.classname{}的形式来设置). 例如:div.div1{}
    • 为元素起小名:同样的,想为多个相同的类中的某一个特定的类设置样式可以使用多个小名的形式(class="div1 classname")-->(.div1.classname1{})
  4. id选择器:为元素设置id,然后(#id{}设置样式)

  5. 属性选择器:将元素的某一个属性设置为选择器进行比设置样式

    • 属性中的某元素为选择器:[target]{}
    • 属性中某元素的属性值(字符串):[target="_blank"{}]
    • 属性中某元素属性值字符串开头:[target^="_b"]

复合选择器

  1. 并集选择器:多个类型选择器,中间用逗号隔开 div,span,p{} 为了让多个选择器设置同一个样式
  2. 后代选择器: ul li{} ul中的所有li都会设置样式,包含li中的子元素ul中的li.也就是ul1的孙元素._
  3. 直接后代选择器:ul>li{} 只管父类后边的子类li,不管子类后边的子类ul中的li.

<style>
#ul1>li{
color: #FF0000;
}
</style> <ul id="ul1">
<li>无序列表</li>
<li>无序列表</li>
<li>无序列表</li>
<ul>
<li>子列表项</li>
<li>子列表项</li>
<li>子列表项</li>
</ul>
<li>无序列表</li>
<li>无序列表</li>
<li>无序列表</li>
</ul>

伪选择器

  1. 伪元素选择器:配合选择器使用

    • ::first-line选择器
    • ::first-letter选择器
    • :before{ content: ""}(前边加文字)
    • :after{content:""}
  2. 伪类选择器:根据元素位置选择元素 比如ul中的li的位置

    • 子元素选择器:
    1. first-child: ul li:first-child{}
    2. last-child: ul li:last-child{}
    • nth-child选择器:根据索引元素位置判断,从1开始
    1. :nth-child(n):选择元素的第n个元素作为选择器.

      n=odd 奇数; n=even 偶数
    2. :nth-last-child(n):倒数索引
  3. 动态伪类选择器(这个有意思)

    • (:link):指定链接未被点击时的样式
    • :vistited:链接被访问之后的效果.一般由于浏览器缓存会显示错误
    • :hover:鼠标悬停时候的样式
    • :active:用户点击时候的样式
    • :focus:获得聚焦时候的样式

补充:

  • CSS对大小写不严格要求,但是还是要书写规范.

权值大小比较:

  • 内联样式表的权值为 1000
  • ID 选择器的权值为 1000
  • Class 类选择器的权值为 10
  • HTML 标签选择器的权值为 1



    优先级:important>内联样式>id>class>标签|伪类|属性选择器>伪元素>通配符(*)>继承

day02

颜色和单位的使用

  1. 颜色

    • 用颜色的名字表示颜色,比如:red
    • 用16进制表示演示 比如:#FF0000
    • 用rgb数值表示颜色,rgb(红,绿,蓝),每个值都在0-255之间

      一般都用16进制表示颜色
  2. 单位
    • px:像素,与分辨率设置相关.
    • %相对于浏览器的百分之多少,可以对宽度width做设置,不可以对height做设置

文本样式(text)

  1. color:设置文本颜色
  2. text-align:设置文本对齐方式
    • center
    • left
    • right
  3. letter-spacing:字间距/字母间距
  4. word-spacing:单词间距,有空格就设置,中文看空格.
  5. line-height:行高(第二行的行高=第一行底部到第三行顶部)
  6. text-indent:一般30px就2个
  7. text-decoration:文本装饰
    • underline:下划线
    • overline:上划线
    • line-through:删除线
    • blink 闪烁(不会用)
  8. text-transform:大小写转换
    • uppercase:全部大写
    • lowercase:全部小写
    • capitalize:每个单词以大写开头
  9. text-shadow:创建文本阴影(水平偏移量px,垂直偏移量px,模糊程度px,阴影颜色),模糊程度px值高越模糊.
  10. 设置字体:
  • font-style:字体样式italic,oblique斜体
  • font-size:设置字体的大小
  • font-weight:设置字体的粗细,bolder最粗
  • font-family:设置文字字体,楷体,隶书等等
  • font简写属性: style weight size family(空格)顺序必须按这个格式,一般用了简写属性之后把行间距letter-spacing放font属性后边,不然会覆盖.

边框和背景

  1. 为元素应用边框

    • border-width:边框宽度
    • border-style:边框样式

      none没有边框

      dashed虚线

      solied实线

      double双线

      groove槽线

      dotted圆点线边框

      inset内嵌 outset外凸

      ridge 脊线边框
    • bolder-color:边框颜色
    • 简写形式border:width style color 没有先后顺序
  2. 单独设置某一条边框
    • border-top/bottom/left/right-width/style/color
    • 简写形式:border-top{width,style,color}
  3. 应用圆角边框(x半径,y半径,xy相同时写一个就好了)
    • border-top/bottom-left/right-radius
    • 简写:border-radius
  4. 设置元素背景
    • background-color:背景颜色
    • background-image:{url("")} 背景图片地址
    • background-repeat:背景图重复方式,一般no-repeat
    • background-size:背景图尺寸
    • background-position:背景图位置
    • 简写:background:color image repeat position,尺寸不写,会冲突
  5. 创建盒子阴影
    • box-shadow:水平偏移量 垂直偏移量 模糊值 阴影的延伸半径 阴影颜色 10px 10px 5px 0px red;
    • 添加多个阴影,直接第一个之后用逗号继续写第二个,第一个设置成整数,第二个阴影设置成负数
  6. 设置轮廓
    • 边框和轮廓的区别:轮廓不属于页面,不会因为应用轮廓而调整页面的布局
    • 边框占有实际大小,轮廓不占有
    • 当设置hover悬停时,轮廓修饰的div不会发生位移,边框修饰时位移
    • outline-color:轮廓颜色
    • outline-style:轮廓样式
    • outline-width:轮廓宽度
    • outline-offset:轮廓距元素边框偏移量
    • 简写: outline

其他样式(表格,列表,透明度,光标)

  1. 表格

    • border-collapse相邻单元格边框处理,合并表格=collapse
    • border-spacing:相邻单元格间距
    • caption-side:标题位置
    • empty-cells:空单元格是否显示
  2. 列表

    • list-style-tyle:列表前边的标记样式 圆点,方点等等
    • list-style-image:列表图像标记
    • 简写:list-style:none 取消列表的所有属性 一般用于导航
    • 横向导航: li{display:inline}
  3. 透明度

    • opacity:设置透明度(0-1之间取值)
  4. 光标形状

    • cursor:设置光标形状,当光标放在某个div上边,设置等待状,手形状等等.

day03

盒子模型

盒子模型分为元素,内边距,边框,外边距,

1.设置一定尺寸的元素

1). width:设置元素宽度
2). height:设置元素高度

2.设置内边距

  • padding-top/bottom/right/left
  • padding:简写形式

3.设置外边距(边框到浏览器边缘或者到下一个盒子的距离)

  • margin-top/bottom/left/right
  • margin:简写形式

4.设置最小和最大尺寸(宽度设置为百分比时,扩大或缩小浏览器或者换了大屏或小屏显示器之后,防止元素错位或溢出)

  • min-width:最小值为两div宽度相加值
  • max-width:最大值

5.处理元素内容溢出

  • overflow-x/y:x或y轴溢出
  • overflow:简写形式: scroll设置滚动条(溢出处理方式)

6.改变元素类型

1).元素类型分为:

  • inline行内元素:在页面中不可设置宽高,也不会独占一行,b,span
  • inline-block行内块级元素:不能独占一行,但能设置宽高.img元素
  • block块级元素:独占一行,可以设置宽高,p,div元素

2).改变元素类型display:

  • 元素类型可以相互转换,转化之后元素性质也随之改变
  • div一般不转化为行内元素,会丢掉,不能设置高

3).隐藏元素: display:none

7.浮动和阻止元素堆叠

  • 浮动:float:left/right
  • 消除元素堆叠在一起: clear:both(左右都消除)

8.案例:

百度页面的搭建:

  • 技巧:为了让div居中,直接margin:0 auto;
  • 为了初始不执行浏览器默认特征: *{margin:0px; padding:0px}
  • 为了防止div块溢出,设置最大最小值. 最小值就是左右两边div相加
  • 文字垂直居中:line-height
  • 做导航,链接a标签加到li标签外边

布局样式

1. 定位方式position

  • static:默认,元素为普通元素,文档流定位,从上到下

  • relative(相对的):元素的位置是相对于普通的位置定位的 ,位移之前的位置 其他元素用不了,一般不做太大的改动 ,对某个元素位置进行微调 ,只能使用top,left 我感觉他是相对于他之前的位置移动的

  • fixed(固定的):相对于浏览器窗口来定位 ,常用!!! ,位移之前位置不会被占用, 上下左右都可以使用, 小广告常用手法, 滚动条不断移,他的位置也不变 ,他会脱离文档流,漂浮于文档流上边,他这个上下左右是相对于边的位置,比如:top50px 不是向上移动50px ,而是元素相对于顶部边框距离50px 设置buttom也同样可以使用,而且拉动滚动条也不会变化位置

  • absolute(绝对的):元素相对position值不为static的一个祖先元素定 子元素依据祖先元素变化 祖先元素不能为static 依据谁变化,谁不可以为static(默认为static),发生在父子 或 祖先元素与后代元素之间的位移定位

2. 定位布局

top/bottom/left/right

3. z-index

用来设置元素 和 元素 的显示层数,正数 负数 都可以

必须配合position使用

过渡,变形

1. 过渡

过渡:元素由一种样式逐渐变为另一种样式

属性:

  • transition-delay:设置过渡前的延时
  • transition-duration:设置过渡用时
  • transition-property:设置过渡参与的属性
  • transition-timing-function:过渡速率(linear匀速)
  • transition:简写形式(property duration timing-function delay)

反向过渡:

hover中设置的,粘贴到div中,就可以了

2. 变形

  • transform: 指定如何变形
  • transform: scaleX/Y(1.5) 缩放1.5倍
  • transform: rotate(360deg) 旋转360度 deg代表度数,配合过渡时间 效果很好
  • transform: skew(X轴角度,Y轴角度) 倾斜的角度
  • transform: translate(X轴距离,Y轴距离) 移动的距离

CSS3学习总结的更多相关文章

  1. HTML5 CSS3学习

    HTML5 CSS3学习 :http://www.1000zhu.com/course/css3/ HTML5 相关书籍:   http://www.html5cn.com.cn/news/gdt/2 ...

  2. CSS3学习之圆角box-shadow,阴影border-radius

    最近经常玩腾讯微博,出来职业习惯,看看它的CSS,里面运用了大量的css3的东东,有一处用到了Data URI,还有css e­xpression有争议的地方,对png24图片的处理也是用滤镜,类似( ...

  3. css和css3学习

    css和css3学习 css布局理解 css颜色大全 样式的层叠和继承 css ::before和::after伪元素的用法 中文字体font-family常用列表 cursor属性 css选择器 F ...

  4. CSS3学习笔记(3)-CSS3边框

    p{ font-size: 15px; } .alexrootdiv>div{ background: #eeeeee; border: 1px solid #aaa; width: 99%; ...

  5. HTML5与CSS3权威指南之CSS3学习记录

    title: HTML5与CSS3权威指南之CSS3学习记录 toc: true date: 2018-10-14 00:06:09 学习资料--<HTML5与CSS3权威指南>(第3版) ...

  6. CSS3学习总结——实现瀑布流布局与无限加载图片相册

    首先给大家看一下瀑布流布局与无限加载图片相册效果图: 一.pic1.html页面代码如下: <!DOCTYPE html> <html> <head> <me ...

  7. 十天精通CSS3学习笔记 part4

    CSS3中的变形与动画(下) CSS3 Keyframes介绍 Keyframes 被称为关键帧,其类似于Flash中的关键帧.在CSS3中其主要以"@keyframes"开头,后 ...

  8. CSS3学习笔记1-选择器和新增属性

    前言:之前自学了一些关于CSS3的知识,在学习过程中也遇到过坑,不过总算磕磕绊绊的学习完了关于CSS3的相关知识,于是最近把之前的笔记和代码整理了一下,也算是一个对CSS3知识的回顾复习吧,也希望能够 ...

  9. CSS3学习内容与心得

    今天2005年7月9号,博客这个东西还真不懂,以前吧我不认识它,它也不认识我.没辙,汤老要我们写,就写吧. 写什么好呢?那就写今天学习的css3的一些要点吧. css这门课程几乎都学完了.而我觉得我还 ...

  10. HTML5+CSS3学习笔记(二) 页面布局:HTML5新元素及其特性

    HTML5的语义化标签以及属性,可以让开发者非常方便地实现清晰的web页面布局,加上CSS3的效果渲染,快速建立丰富灵活的web页面显得非常简单. 本次学习HTML5的新标签元素有: <head ...

随机推荐

  1. 日志系统实战(三)-分布式跟踪的Net实现

    介绍 在大型系统开发调试中,跨系统之间联调开始变得不好使了.莫名其妙一个错误爆出来了,日志虽然有记录,但到底是哪里出问题了呢? 是Ios端参数传的不对?还是A系统或B系统提供的接口导致?相信有不少人遇 ...

  2. [.net 面向对象程序设计进阶] (24) 团队开发利器(三)使用SVN多分支并行开发(下)

    [.net 面向对象程序设计进阶] (24) 团队开发利器(三)使用SVN多分支并行开发(下) 本篇导读: 接上篇继续介绍SVN的高级功能,即使用分支并行开发.随着需求的不断变更,新功能的增加.特别是 ...

  3. Microsoft Azure Web Sites应用与实践【1】—— 打造你的第一个Microsoft Azure Website

    Microsoft Azure Web Sites应用与实践 系列: [1]—— 打造你的第一个Microsoft Azure Website [2]—— 通过本地IIS 远程管理Microsoft ...

  4. C++的性能C#的产能?! - .Net Native 系列《二》:.NET Native开发流程详解

    之前一文<c++的性能, c#的产能?!鱼和熊掌可以兼得,.NET NATIVE初窥> 获得很多朋友支持和鼓励,也更让我坚定做这项技术的推广者,希望能让更多的朋友了解这项技术,于是先从官方 ...

  5. Java 8函数编程轻松入门(二)Stream的使用

    在C#中,微软基于IEnumerable接口,提供许多便捷的扩展方法,便于实际的开发.在Java 1.8中,Collection接口新增了default stream方法.我们可以针对java集合,在 ...

  6. C/C++预处理指令#define,#ifdef,#ifndef,#endif…

    2016年12月29日更新: 今天查看以前文件的时候, 突然发现了#error 这个预处理指令.然后回想一下工作, 发现这个指令使用场景还是很多的.比如: 一个项目的模块儿之多,源文件之大,代码之多, ...

  7. Python格式化输出

    今天写程序又记不清格式化输出细节了……= =索性整理一下. python print格式化输出. 1. 打印字符串 print ("His name is %s"%("A ...

  8. 冒烟测试 smoking test

    冒烟测试的概念: 版权声明:本文为博主原创文章,未经博主允许不得转载. 冒烟测试既是对软件基本的功能进行测试,测试的对象是每一个新编译的需要正式测试的软件版本,目的是确认软件基本的功能正常,保证软件系 ...

  9. Spring MVC和CXF集成

    前提: 1.spring mvc环境已搭建好,能跑起来. 2.下载apache-cxf-2.7.3.zip的压缩包,解压apache-cxf-2.7.3.zip压缩包,拷贝如下几个jar包即可. 配置 ...

  10. 关闭form上chrome的autofill

    Chrome的autofill会自动找到form中的type=password的元素,然后把这个元素前面的元素当做是用户名,它不在乎这个元素叫什么名字.这样又是注册又是登录,你会发现它自作聪明的aut ...