CSS学习笔记

CSS

一、选择器


1.1 标签选择器

  • 语法格式:标签名 {} 会将此页面中所有的此类标签都选中

1.2 类选择器

  • 语法格式:.类名 {}

  • 在HTML标签中使用class="类名"来继承类,class="类名1 类名2"来继承多个类

  • 类可以被多个标签调用

  • 类名有多个单词时用短横线'-'分割

  • 见名知意,特定场景用以下类名:

    头:header

    内容:content/container

    尾:footer

    导航:nav

    侧栏:sidebar

    栏目:column

    页面外围控制整体布局宽度:wrapper

    左右中:left right center

    登录条:loginbar

    标志:logo

    广告:banner

    页面主体:main

    热点:hot

    新闻:news

    下载:download

    子导航:subnav

    菜单:menu

    子菜单:submenu

    搜索:search

    友情链接:friendlink

    页脚:footer

    版权:copyright

    滚动:scroll

    内容:content

    标签页:tab

    文章列表:list

    提示信息:msg

    小技巧:tips

    栏目标题:title

    加入:joinus

    指南:guild

    服务:service

    注册:regsiter

    状态:status

    投票:vote

    合作伙伴:partner

1.3 id选择器

  • 语法格式: #id名 {}

  • 在HTML标签中使用 id="id名"来调用

  • id只能被调用一次,一个标签也只能有一个id,不能多个一起使用

1.4通配符选择器

  • 语法格式:*{}

  • 通配符选择器不需要调用,自动为所有的元素使用样式

1.5 后代选择器

  • 语法格式:父 子 孙 . . .{}

  • 父子孙.... 可以是标签、id和类名,他们之间用空格隔开

  • 后代选择器用于选取某元素的所有后代元素,包括孙子等等

1.6 子元素选择器

  • 语法格式:父>子 {}

  • 与后代选择器相比,子元素选择器只能选择作为某元素一级子元素的元素

1.7 并集选择器

  • 语法格式:元素1,

    元素2,

    ...... {}

  • 用来选择多个元素进行集体声明,元素也可以是后代选择器和子元素选择器

1.8 伪类选择器

  • a:link {color:#000000;} 未访问链接

  • a:visited {color:#00FF00;} 已访问链接

  • a:hover {color:#FF00FF;} 鼠标移动到链接上

  • a:active {color:#0000FF;} 鼠标点击时

  • 可用 字体属性、背景、文本属性 来设置在某个状态下的超链接的样式。

  • 常用设置:a {}设置所有状态下黑色且无下划线,a:hover{}设置当鼠标移动到链接上 时变色且显示下划线,覆盖a{}中的设置

    a {
      color: black;
      text-decoration: none;
    }
    ​
    a:hover {
      color: blue;
      text-decoration: underline;
    }
  • input:focus { background-color: blue;} 多个input标签,若某个被点击了,就改变样式

二、字体属性


2.1 font-family

  • 用来设置字体系列,字体名中有空格时用引号包括,不区分单双引号

  • 常用:'Microsoft YaHei', Arial, Helvetica, sans-serif 和 'Times New Roman', Times, serif

  • 一个font-family属性设置多个值表示从前往后匹配用户浏览器中已下载的字体

2.2 font-size

  • 用来设置字体大小,单位px

  • 以下代码只能修改body标签中<p>的字体大小

    body {
        font-size: 16px;
    }

    标题标签的字体大小要特地设定

    h1 {
        font-size: 16px;
    }

2.3 font-weight

  • normal:正常的字体。相当于number为400。声明此值将取消之前任何设置

  • bold:粗体。相当于number为700。也相当于<strong></strong> 和<b></b>

  • bolder:特粗体

  • lighter:细体

  • 值也可以是正整数(100~900),不用跟单位

2.4 font-style

* normal:默认值,会显示正常的字体样式
* italic:字体样式为倾斜,一般直接用<em></em>或<i></i>将字体设为倾斜
*  font-style一般是用来将倾斜的字体换为正常字体

2.5 font

  • font 简写属性在一个声明中设置所有字体属性

  • 顺序为:font-style font-variant font-weight font-size/line-height font-family

  • font-size和font-family的值是必需的,其他的值若缺少了,默认值将被插入

  • line - height属性设置行与行之间的空间

三、样式表


3.1 内部样式表

    <style>
      #id1 {
        background-color: aqua;
        width: 100px;
        height: 100px;
      }
    </style>

3.2 行内样式表

    <p style="color: red">行内样式表</p>

3.3 外部样式表

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

四、背景

:页面或元素背景的相关属性


4.1 background-color

body {
    background-color:rebeccapurple;
}

4.2 background-image

body {
    background-image:url('img/4.jpg');
}

4.3 background-repeat

若图片没有父容器这么大,按照什么方向进行重复:

默认:竖直和水平同时重复

repeat-x:水平

repeat-y:竖直

no-repeat:不重复

body {
    background-image:url('img/4.jpg');
    background-repeat: repeat-x;
}

4.4 background-attachment

背景图片是否随父容器的滚动而滚动 (背景不够长就按照 background-repeat中的规则来重复)

scroll :  滚动,默认值

fixed :  固定

.div1 {
    width: 500px;
    height:5000px;
    border: 1px solid blue; 
    background-image: url('img/6.jpg');
    background-attachment: fixed;
}

4.5 background-position

设置背景图片在父容器中的位置,要分别设置水平 竖直 位置的值,其中有一个没填就默认center

水平 竖直

left top

center center

right bottom

..% ..%

..px ..px

.div1 {
    width: 500px;
    height: 500px;
    border: 1px solid blue; 
    background-image: url('img/6.jpg');
    background-repeat: no-repeat;
    background-position: center bottom;
}

4.6 background

  • background 简写属性在一个声明中设置所有背景属性

  • 各值之间用空格分隔,不分先后顺序,可以只有其中的某些值

五、文本属性


5.1 color

设置文本颜色,值可以为:十六进制值、颜色名称、RBG值

5.2 text-align

设置文本的对齐方式

center:中间对齐

left:左边对齐

right:右边对齐

justify:左右都对齐

.p {
    color: brown;
    text-align: justify;
}

5.3 text-decoration

设置或删除文本的装饰

none:删除文本的装饰,主要用来删除超链接的下划线

line-through:从文字中间穿过的线

underline:下划线

overline:上划线

5.4 text-transform

用来指定在一个文本中的大写和小写字母

uppercase:将所有字母转换为大写字母

owercase:将所有字母转换成小写字母

capitalize:将所有单词的首字母转为大写字母

5.5 text-indent

用来指定文本的第一行的缩进,单位px

六、元素显示模式


6.1 块元素

  • 常见的块元素:<h1>~<h6>、<p>、<div>、<ul>、<ol>、<li>

  • 独占一行,不管宽度是否小于父容器

  • 高度、宽度、外边距以及内边距都可以控制

  • 宽度默认是父容器的宽度 (高度不是)

  • 除了文字类(h1~h6、p)的块元素,其余的都可以放行内元素或者块元素

6.2 行内元素(内联元素)

  • 常见的行内元素:<a>、<span>、<strong>、<b>、<em>、<i>、<del>、<s>、<ins>、<u>

  • 一行内可以显示多个

  • 高、宽直接设置是无效的

  • 宽度和高度取决与内容本身的宽度和高度

  • <a>内不能放<a>标签、但可以放块级元素

  • 除<a>外,其余行内元素内只能放行内元素

6.3 行内块元素

  • 既有块元素的特点又有行内元素的特点,常见的:<img />、<input />、<td>

  • 一行可显示多个,相邻的行内块元素之前会有空白间隙

  • 默认宽度和高度就是内容本身的宽度和高度.

  • 高度、宽度、外边距以及内边距都可以控制

6.4 元素显示模式的转换

  • 转为块元素: display:block;

  • 转为行内元素:display:inline;

  • 转为行内块元素:display:inline-block;

  • 写在选择器里

七、列表属性


7.1 list-style-type

  • 用来指定列表项标记的类型

  • ul无序列表: 默认 实心圆形

circle 空心圆形

square 正方形

none 无标记

  • ol有序列表: 默认 数字(1 2 3)

upper-roman 罗马数字(I II III)

lower-alpha 小写字母(a b c)

none 无标记

7.2 list-style-image

  • 用来将列表项标记换成指定的图片

八、边框属性


8.1 border-style

  • none :  无边框

  • hidden :  隐藏边框

  • dotted : 点线

  • dashed : 虚线

  • solid :  实线

  • double :  双线边框

  • groove :  3D凹槽

  • ridge :  菱形边框

  • inset :  3D凹边

  • outset :  3D凸边

8.2 border-width

  • 设置边框的宽度,单位px

8.3 border-color

  • 设置边框的颜色

8.4 单独设置各边样式

  • p {
        border-top-style:dotted;
        border-right-style:solid;
        border-bottom-style:dotted;
        border-left-style:solid;
    }
  • 也可以用border-style : top right bottom left 来简化设置

8.5 border 、border-top.....

  • border简写属性在一个声明中设置所有边框属性

  • border-top......设置某条边的所有属性

  • 顺序为:border-width、border-style (required)、border-color

  • border-style 是必须的其余的如没填就是默认值

九、盒子模型


 

9.1 内边距Padding

  • padding-top 单位px

    padding-right

    padding-bottom

    padding-left

  • padding 简写属性在一个声明中设置所有内边距属性

    • padding:5px; 一个值,代表上下左右都是5px

    • padding:5px 10px; 两个值,代表上下是5px,左右是10px

    • padding:5px 6px 7px 8px; 四个值,按照上右下左的顺时针顺序

9.2 外边距Margin

  • margin -top 单位px

    margin-right

    margin-bottom

    margin-left

  • margin简写属性规则与padding一致

  • 实现让块元素在该行内水平居中:①必须设置width ②左右边距都设置为auto

  • 行内元素及行内块元素水平居中只需要在父容器中text-align: center 即可

9.3 注意

  • 容器的height和width属性本质上设置的是Content框的大小,整个盒子的大小还要加上外边距、边框、内边距

  • 除非没有设置盒子的height/width,否则只要设置了内边距就会撑大盒子,如果超出了盒子的大小就不填充内边距了

  • 外边距合并问题(两种情况)

    • 同一垂直线上的两个盒子,上盒子的margin-bottom与下盒子的margin -top同时存在时,会取一个最大值,而不是叠加

      • 解决方案:

        • 将margin-bottom与margin -top相加后只设置一个盒子的外边距即可

    • 当两个盒子嵌套时,父盒子与子盒子的margin -top会取一个最大值

      • 解决方案:

        • 为父元素加上边框

        • 为父元素加上内边距

        • 为父元素添加overflow: hidden,一般使用这种,上面两种都会改变盒子的大小

  • 清除内外边距:

    * {
      padding: 0;
      margin: 0;
    }

十、表格属性


10.1 表格边框

  • 设置显示边框

    table,
    th,
    td {
      border: 2px solid red;
    }
  • 合并边框(border-collapse两个值:collapse为合并、separate为分开)

    table {
      border-collapse: collapse;
    }

10.2表格宽度和高度

  • width设置table或th或td的宽度,单位px或者%

  • height设置table或th或td的高度,单位px或者%

10.3 表格文字对齐

  • text-align设置水平对齐方式

    left、right、center(default)

  • vertical-align设置垂直对齐方式

    top、bottom、middle(default)

10.4 表格颜色

  • background-color 设置背景颜色

  • color设置文字颜色

10.5 表格填充

  • padding 用来控制边框和表格内容之间的间距,单位px

十一、浮动


多个盒子纵向排列找标准流,多个盒子横向排列找浮动

11.1 float属性

  • 用来使当前元素成为浮动框,使其浮动到一边,直到左边缘或右边缘触及父容器或另一个浮动框

  • 三个值:left (向左浮动)、right (向右浮动)、none (不浮动)

  • 一般是先用一个标准流的父容器规定元素上下位置,再在里面使用浮动元素排列左右位置

  • 元素浮动只会影响它下面的盒子,不会影响它上面的盒子

11.2 清除浮动

  • 清除浮动清除浮动的本质是清除浮动元素脱离标准流造成的影响

  • 清除浮动的策略:闭合浮动,只让浮动在父盒子内部影响,不影响父盒子外面的盒子

  • 方法一:在浮动元素的末尾添加一个新标签例如<div style="clear:both"></div>

  • 方法二:父元素添加overflow属性,将其值设置为 hidden 或 auto 或 scroll

  • 应用:当父元素只指定宽度,高度需要依靠子元素的大小和数量而定时,浮动子元素需要自动换行,这时就需要清除浮动

十二、定位


定位 = 定位模式 + 边偏移

12.1 边偏移

  • top: ..px:距离参考系的上边界多少像素

  • bottom: ..px:距离参考系的下边界多少像素

  • left: ..px:距离参考系的左边界多少像素

  • right: ..px:距离参考系的右边界多少像素

12.2 定位模式--静态定位

  • position: static;:静态定位,按照标准流摆放位置,没有角偏移

12.3 定位模式--相对定位

  • position: relative;:相对定位,移动的时候的参照点是原来位置

  • 移动后原来的位置继续占有,不脱标

  • 应用:给绝对定位当父元素

12.4 定位模式--绝对定位

  • position: absolute;:绝对定位,移动的时候参考点是最近一级且有定位的祖先元素(任何一种定位模式都可以)

  • 如果没有祖先元素或者祖先元素都没有定位,就以浏览器为参考点

  • 移动后不占有原来的位置,脱标

  • 绝对定位的盒子实现水平居中:

    • left: 父盒子一半的宽度

    • margin-left: 本盒子的一半宽度

12.5 定位模式--固定定位

  • position: fixed;:固定定位,移动时参考点是浏览器的浏览器的可视窗口,不会随着滚动条滚动

  • 父元素不会影响固定定位的位置

  • 移动后不占有原来的位置,脱标

  • 小技巧:固定到版心右侧

    • left: 50%;:边位移走到浏览器可视区域一半

    • margin-left: 405px;:外边距再走主内容一半的距离(400px),再加5px让两个盒子有一点距离

 

12.6 定位模式--粘性定位

  • position: sticky;:粘性定位,先在初始设置的位置呆着,如果页面将这个添加了粘性定位的盒子滑出了可视界面之外,这个盒子就会粘着上边沿显示,称为一个固定定位,移动时参考点是浏览器的浏览器的可视窗口

  • 移动后占有原先位置

  • 必须添加一个边偏移后粘性定位才会生效

12.7 5种定位模式总结

 

12.8 定位叠放顺序 z-index

  • z-index: 正整数、负整数或0;:数值越大,盒子越在上面

  • 如果属性值相同,则按照书写顺序,后来者居上

12.9 定位的特殊特性

  • 行内元素添加绝对或固定定位后,因为脱标了,所以可以直接设置高度和宽度

  • 块级元素添加绝对或固定定位后,因为脱标了,所以默认大小是内容大小

  • 浮动元素和绝对或固定定位因为脱标了,都不会触发外边距合并问题

12.10 绝对或固定定位和浮动都脱标了,但有一些小区别

  • 浮动元素会压住它下面标准流的盒子,但是不会压住下面标准流的盒子里面的文字,文字会围绕着浮动的盒子显示

  • 绝对定位会压住下面标准流的所有内容

十三、元素的显示与隐藏


13.1 display

  • display: none:隐藏元素,并不再占有原来的位置

  • display: block:除了有转换为块级元素的作用之外,还有显示元素的意思

13.2 visibility

  • visibility: hidden:隐藏元素,但仍然占有原来的位置

  • visibility: visible:显示元素

13.3 overflow

  • overflow: hidden:隐藏溢出此元素的文本,且不再占用溢出的位置

  • overflow: visible:显示溢出此元素的文本

  • overflow: scroll:显示滚动条,不管是否溢出

  • overflow: auto:溢出的时候才显示滚动条,不溢出就不显示滚动条

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值