CSS基础2

该随笔为pink老师前端入门教程的笔记


Emmet语法

Emmet语法前身是Zen Coding,它使用缩写来提高html/CSS的编写速度。

快速生成html结构语法

  1. 生成标签 直接输入标签名按TAB键即可

    输入divTAB键,即生成了<div></div>

  2. 如果生成多个标签,加上*

    div*2 + TAB可快速生成3个div

  3. 父子级关系的标签可以用>

    ul>li

  4. 兄弟级标签用+

    div+p

  5. 生成带有类名或id名,直接写.demo或者#two + TAB

  6. 自增符号$使生成div类名有顺序

    .demo$*5

  7. 如果生成标签里默认显示几个文字

    div

快速生成CSS样式

通过首字符快速生成

快速格式化代码

右键-格式化文档

保存时自动格式化代码:

  1. 文件->【首选项】->【设置】

  2. 搜索emmet.include;

  3. 在settings.json下【用户】添加

    "editor.formatOnType":true,
    "editor.formatOnSave":true
    

    新版本直接搜索format有个保存自动格式化的选项勾上就行了

CSS的复合选择器

将基础选择器组合成为复合选择器

后代选择器

又称包含选择器,可以选择父元素的子元素。将外层标签写在前面,内层标签写在后面,之间用空格分隔。当标签发生嵌套时,内层标签就成为外层标签的后代。

/*选择元素1里的所有元素2*/
元素1 元素2 {

}
/*ol里面的li选出来改为pink*/
ol li {
    color:pink;
}
/*ol里面的li里面的a选出来改为pink*/
ol li a {
    color:red;
}
/*元素1元素2可以是任意基础选择器*/
.class li a {
    color:yellow;
}

子选择器

只能选择作为某元素的最近一级子元素。

元素1>元素2 {
    样式声明
}

/*选择元素1里面的所有直接后代元素2*/
div>p { 样式声明 }

注意子选择器与后代选择器区别

并集选择器

可以选择多组标签,同时定义

/*任何形式的选择器都可以作为并行选择器的一部分*/
元素1,
元素2 { 样式声明 }
/*选择ul和div标签元素*/
ul,
div { 样式 }
/*选择p,div,pi类里的li标签元素*/
p,
div,
.pi li { color:pink; }

伪类选择器

用于某些选择器添加特殊效果

用冒号(:)表示,如 :hover

种类:链接伪类、结构伪类、表单伪类等

链接伪类选择器

a:link /* 选择所有未访问过的链接 */
a:visited /* 选择所有已被访问的链接 */
a:hover /* 选择鼠标指针位于其上的链接 */
a:active /* 选择活动链接(鼠标按下未弹起) */

注意:

  1. 为了使链接伪类生效,要按照 LVHA(:link - :visited - :hover - :active) 顺序声明
  2. a在浏览器有默认样式,所以工作中要单独指定样式

实际应用:

a {
    color:#333;
    text-decoration: none;
}
a:hover {
    color:#369;
    text-decoration: underline;
}

:focus 伪类选择器

用于选取获得焦点的表单元素。

焦点就是光标,一般情况<input>类表单才能获取

input:focus {
    background-color:yellow;
}

CSS的元素显示模式

显示模式就是元素(标签)以什么形式进行显示。HTML元素一般分为块元素行内元素

块元素

<h1>~<h6><p><div><ul><ol><li>

  1. 独占一行。
  2. 高度、宽度、外边距以及内边距都可以控制。
  3. 宽度默认是容器(父级宽度)的100%。
  4. 是一个容器及盒子,里面可以放行内或块级元素。

注意:

  • 文字类的元素内不能使用块级元素 如<p><h1>~<h6>

行内元素

<span>为最典型的行内元素,有些地方行内元素也交内联元素

  1. 相邻元素在一行,一行显示多个
  2. 高宽直接设置无效
  3. 默认宽度就是它本身内容的宽度
  4. 行内元素只能容纳文本或其他行内元素

注意:

  • 链接里面不能放链接
  • 特殊情况<a>里面可以放块元素;但是给<a>转换一下块模式最安全

行内块元素

在行内元素中有几个特殊标签——<img/><input/><td>,它们同时具有块元素和行内元素的特点。

  1. 和相邻行内元素在一行上,但是它们之间有空白缝隙,一行可以显示多个(行内元素特点
  2. 默认宽度就是它本身内容的宽度(行内元素特点
  3. 高度、行高、外边距以及内边距都可以控制(块元素特点

元素模式转换

特殊情况下,我们需要元素模式的转换,即一个模式的元素需要另外一种模式的特性

  • 转换为块元素display:block
a {
    width: 150px;
    display:block;
}
  • 转换为行内元素: display:inline
  • 转换为行内块元素:display:inline-block

CSS背景

背景颜色

语法:

background-color: transparent | color

参数:

transparent:背景色透明(默认)

color:指定颜色

背景图片

语法:

background-image: none | url (url)

参数:

none :无背景图(默认)
url : 使用绝对或相对地址指定背景图像

例子:

code { background-image: url("comet.jpg"); }

背景平铺

语法:

background-repeat : repeat | no-repeat | repeat-x | repeat-y

参数:

repeat :  背景图像在纵向和横向上平铺
no-repeat :  背景图像不平铺
repeat-x :  背景图像在横向上平铺
repeat-y :  背景图像在纵向平铺

背景图像固定

语法:

background-attachment : scroll | fixed

参数:

scroll :  背景图像是随对象内容滚动
fixed :  背景图像固定

背景图片位置

语法:

background-position : length length
background-position : position position

  1. 参数为方位名词

    position : top | center | bottom || left | center | right

    • 如果指定两个值都是方位名词,则两个值前后顺序无关,如left toptop left一样

    • 如果只指定一个方位名词,另一个值省略,则第二个值默认居中对齐

  2. 参数是精确单位

    length :  百分数 | 由浮点数字和单位标识符组成的长度值。

    • 第一个为x轴,第二个为y轴(左上为原点,右为x,下为y)
    • 只写一个,一定为x轴,y轴垂直居中
  3. 混合使用

    • 第一个值为x轴,第二为y轴

背景复合写法

background:颜色 图片地址 平铺 图像滚动 图片位置

背景半透明

CSS3提供背景半透明效果(IE9+版本支持)

background: rgba(0,0,0,0.3)

  • 最后一个参数为透明度,取值0~1 (1为透明)
posted @ 2021-09-07 16:05  艾雅雅雅  阅读(53)  评论(0)    收藏  举报