CSS基础知识点速览

 

层叠样式表 (Cascading Style Sheets)

创建

外部样式表

外部引入:

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

type="text/css"现在一般都可以省略不写了,浏览器一般默认 stylesheet 都是 css。

 

内部样式表

在 <head> 标签里写 css:

<head>
<style>
  p {margin-left: 20px;}
</style>
</head>
 

内联样式

直接给元素添加属性:

<p style="color: lightgreen; margin-left: 20px">
直接给元素添加属性:
</p>
 

层叠次序

按优先度由低到高:

  • 浏览器缺省设置
  • 外部样式表
  • 内部样式表
  • 内联样式
 

选择器

种类

按选择对象:

  • 元素选择器 tagname
  • id 选择器 #id
  • 类选择器 .class-name
  • 属性选择器 [property]
  • 属性和值选择器 [property=value]

按选择方式:

  • 派生选择器(上下文选择器)
    • 后代选择器
    • 子元素选择器
    • 相邻兄弟选择器
  • 伪类/伪元素
 

书写格式

  • 选择器分组使用逗号分隔,不加逗号则为后代选择器:

    /* 选择 p 和 span */
    p, span { ... }
    /* 选择作为 p 的后代的 span */
    p span { ... }
  • 当 class 与 id 用来作为 tag 的后代时,之间不用加空格;如果是选择某 class 内的 tag 则需要加空格:

    div#sidebar { ... }
    #sidebar p { ... }
  • 子元素选择器

    /* “>”左右的空格是可选的 */
    h1 > strong { ... }
  • 相邻兄弟选择器

    /* 会选中紧接在 h1 后的 p */
    h1 + p { ... }
  • 伪类
    伪类是描述被选择的元素的“状态/性质”的。

    属性描述CSS
    :active被激活的元素1
    :focus拥有键盘输入焦点的元素2
    :hover当鼠标悬浮在元素上方1
    :link未被访问的链接1
    :visited已被访问的链接1
    :first-child元素的第一个子元素2
    :lang带有指定 lang 属性的元素2

    常见容易误导的“p:first-child”并非选择“p 的第一个子元素”,而是选择“作为其父元素的第一个子元素的 p”。

  • 伪元素
    伪元素更多地是用来选择被选择元素的“特定部分/附属”的。

    属性描述CSS版本
    :first-letter文本的第一个字母1
    :first-line文本的首行1
    :before在元素之前添加内容2
    :after在元素之后添加内容2
 

属性选择器

  • 属性选择器 [property]
  • 属性和值选择器 [property=value]
选择器描述
[attribute]指定属性
[attribute=value]指定属性和值
[attribute~=value]属性值中包含指定词汇
[attribute|=value]以指定值开头、以连字符连接多个单词
[attribute^=value]指定值开头
[attribute$=value]指定值结尾
[attribute*=value]包含指定值

Ps:这玩意真的用过么¿

 

链接

  • a:link - 未访问的链接
  • a:visited - 已访问的链接
  • a:hover - 鼠标指针位于链接的上方
  • a:active - 链接被点击的时刻

同时设置多个状态时,需要注意顺序: a:hover 必须位于 a:link、a:visited 之后,a:active 必须位于最后。

 

表格

奇数行上色:

.table-name tr.alt td
{
    background-color:#EAF2D3;
}
 

框模型

结构

由内到外:

  • element
    • width
    • height
  • padding
  • border
  • margin

box-model.jpg

::: warning 注意

对于一个元素,width 属性指的是内容区的宽度而不包含 padding、border(这两个仅在IE6之前的版本会包含在 width 中)。

:::

 

边距的值复制

边距的四个值按照 上、右、下、左 的顺时针排序。

值的个数效果
4个上 右 下 左
3个上 (左=右) 下
2个(上=下) (左=右)
1个(上=右=下=左)

value-of-replication

例子:

简写实际
padding: 10px;padding: 10px 10px 10px 10px;
padding: 10px 0.25em;padding: 10px 0.25em 10px 0.25em;
padding: 10px 0.25em 2ex;padding: 10px 0.25em 2ex 0.25em;
padding: 10px 0.25em 2ex 20%;-
 

外边距合并

多个垂直外边距发生“接触”时会相互合并并取其中的最大值。

这甚至会发生在内容为空的元素本身的上外边距与下外边距、元素的外边距与元素内的元素的外边距。

68747470733a2f2f7777772e77337363686f6f6c2e636f6d2e636e2f692f63745f6373735f6d617267696e5f636f6c6c617073696e675f6578616d706c655f342e676966uploading.4e448015.gif转存失败重新上传取消margin-merge1

68747470733a2f2f7777772e77337363686f6f6c2e636f6d2e636e2f692f63745f6373735f6d617267696e5f636f6c6c617073696e675f6578616d706c655f322e676966uploading.4e448015.gif转存失败重新上传取消margin-merge2

 

position 属性

  • static
    默认值,元素出现在正常的流中。

  • relative
    相对定位,元素框相对原位置偏移某个距离,元素仍然会占据原来的空间。

  • absolute
    绝对定位,相对于其第一个非 static 定位的父元素定位,在文档流完全删除。

  • fixed
    绝对定位,相对于浏览器窗口进行定位。

  • inherit
    从父元素继承 position 属性的值。

绝对定位们可以搭配 z-index 属性食用。

 

媒介类型

用来指定对于不同的设备访问采用不同的 CSS 样式。

以下例子在浏览器显示页面或者打印页面时采用不同的字体与字号:

@media screen {
    p.test {font-family:verdana,sans-serif; font-size:14px}
}

@media print {
    p.test {font-family:times,serif; font-size:10px}
}
 

参考手册

W3School CSS 教程: https://www.w3school.com.cn/css/index.asp

W3School CSS 参考手册:https://www.w3school.com.cn/cssref/index.asp

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值