CSS学习笔记1:基础、复合选择器

CSS - Cascading Style Sheets

实现结构(HTML)与样式(CSS)的分离


1. 分类

行内式(内联式):

使用频率:偶尔使用,当局部样式跟整体样式不同的时候使用

<标签名 style="属性1:属性值1; 属性2:属性值2; 属性3:属性值3; "> 内容 </标签名>

行内式例子


内部样式表

用于相同页面处理相同风格的标签

一般定义在head中

<style>

    选择器 {

        属性1:值1; 

        属性2:值2;

    }

    选择器2 {

        属性1:值1;

        属性2:值2;

    }

</style>


外部样式表(外链式)

用于多个页面显示相同风格的标签

在head中使用link标签

<link rel="stylesheet" type="text/css" href="testcss/test.css">

type可以省略


2. CSS基础选择器(选择器分类)

2.1 标签选择器*

见上面,都是标签选择器,修改标签的属性。

PS:只能使用已有的标签来作为标签选择器


2.2 类选择器*

head用'.'声明,标签中用'class'调用

.类名{

    属性1:属性值1;

    属性2:属性值2

}

标签中使用属性class="类名"即可

类选择可以选择一个或多个标签

例1
例2.1 google案例
例2.2 google案例  
例2.3 google案例显示结果


2.3 多类名选择器

用于同一个标签实现2个样式类的效果,例如一个类定义字体颜色,一个类定义字体大小

head用'.'声明,标签中用'class'调用

.类名1{

    属性1:属性值1;

    属性2:属性值2

}

.类名2{

    属性1:属性值1;

    属性2:属性值2

}

标签中使用属性class="类名1 类名2"即可

PS:

如果2个类中有同样的样式,则按样式定义的顺序,后来居上(与调用时的顺序无关,只看样式的定义顺序选择最后一个类的冲突的属性)

例3.1
例3.2

例3.1和3.2中无论googleBlue在前还是googleRed在前,G都显示红色,因为在例2.1中.gooleRed是后定义的


2.4 id选择器*

定义和使用方法和类选择器非常类似

head用'#'声明,标签中用'id'调用

#id名1{

    属性1:属性值1;

    属性2:属性值2

}

#id名2{

    属性1:属性值1;

    属性2:属性值2

}

标签中使用属性id="id名1 id名2"即可

例4.1 id选择器定义
例4.2 id选择器调用


2.5 id选择器和类选择器区别

理论上id选择器和类选择的定义和使用区别不大。

但是,规范上类选择器可以被重复使用,id选择器只能使用一次。

例4中我们虽然重复使用了id选择器(例如id2、id3)没有出错,是因为google浏览器兼容性比较好(也许未来所有浏览器都能做到兼容性),但是应该避免违反规范的使用


2.6 通配符选择器*

将所有标签都选择了,应该避免使用,常用于设置页面整体的字体


3. CSS字体样式属性

3.1 font-size

单位一般只使用px和em, px最常用

现在普遍使用14~16px为页面的font-size,而且尽量使用偶数

旧版本页面一般字体都很小,因为分辨率很高


3.2 font-family

一般中文网站常用字体有:宋体、微软雅黑、Arial。但最好使用系统默认字体

如果有些浏览器不支持某些字体,可以多定义几个字体,字体间间用逗号',' 隔开。字体选择顺序就是定义的顺序,如果定义的字体都没有,就选择系统默认字体

字体不是一个单词的需要加双引号,字体是一个单词则不用加双引号。例如:font-family:"Times New Roman", Arial

有些页面样式中定义了unicode字体,只需要查表就知道使用的是什么字体:

unicode字体表


3.3 font-weight字体加粗

查询CSS手册

HTML是使用b或者strong标签,而CSS可通过样式实现加粗效果

设置字体粗细时,建议用数字


3.4 font-style:字体风格

查表,略


*4. 字体连写

字体连写语法:

选择器{font: font-style font-weight font-size/line-height font-family;}

顺序是严格的,不能更换顺序,各个属性以空格隔开!

其中不需要隔开的可以省略(省略的将会取默认值),但必须保留font-size和font-family属性,否则font选择器将不起作用

个人不建议使用,除非加上注释,否则代码可读性不好

一般连写只是选择size和family就够了:font: 25px "宋体"


5. CCS外观属性

5.1 color文本颜色

查CSS颜色表

1. 预定义颜色值:red、green、blue、yellow......

2. 十六进制:如#ff0000 #00ff00 #0000ff等(常用)

可简写为            #f00     #0f0      #00f

                            红         绿        蓝

#fd0a00则不能简写

可使用FSCapture软件获取颜色的十六进制值

3. RGB表示   rgb(255,0,0) rgb(100%,0%,0%)


5.2 line-height行高

一般建议比font-size大7,8个像素


5.3 text-align:水平对齐

默认左对齐 left

在CSS中没有垂直对齐方式


5.4 text-indent首行缩进

例:段落首行缩进2个字

text-indent: 2em;

1em是一个字的距离


5.5 文本装饰text-decoration

查表

属性有:none underline blink overline line-through


*5.6 总结HTML样式标签 和 CSS样式属性


6. CSS复合选择器

面试笔试常见

6.1 后代选择器 与 子代选择器

使用较少

6.1.1 后代选择器(包含选择器)

又称为包含选择器

例1:只希望修改test5、test6的样式

定义一个样式,test5和test6实际上都是div中的p


例2:在修改了div里的p的基础上,修改test6的效果


例3:常用场景:ul里的li,ol里的li


6.1.2 子代选择器

看一个例子即可:

只希望1级菜单改变样式

如果使用后代选择器,ul li a{color: red} 这样的话2级菜单也会改变颜色

使用子代选择器语法,实现只有子代才能改变样式


6.1.3 后代、子代选择器对比

都是选择后代

后代选择器是选择所有后代,子代选择器只能选择亲儿子

子代使用较少,后代使用较多


*6.2 交集选择器 与 并集选择器

6.2.1 交集选择器

使用较少,特殊情况使用

需求:只希望交集选择器3改变样式。可以使用类选择器

‘交集选择器3、6’ 改变样式
使用类选择器实现

使用交集选择器后,只会将交集选择器3改变样式

使用交集选择器样式,只会让交集选择器3改变样式


*6.2.2 并集选择器

需求:希望将并集选择器1,3,5改变样式

使用并集选择器

语义:将div、span、a都改样式


6.3 符合选择器总结


7. 链接伪类选择器

伪类选择器用于向某些选择器添加特殊效果。比如给链接添加特殊效果,例如鼠标移上去改变颜色

语法:

为了和类选择器相区别,类选择器是一个点.className

伪类选择器使用2个点:link等


链接伪类选择器:

:link        -未访问的链接

:visited    -已访问过的链接

:hover    -鼠标移动到链接上

:active    -鼠标选定的链接,点击但未松开


链接伪类选择器例子

PS:

lvha的顺序非常重要!!!

可以用LoVe HAte两个单词来记忆

PS2:

实际开发中的应用:

1. 如果是文章链接,可以走上面标准流程

*2. 如果是淘宝的导航栏,则需要省略link/visited/active,只需要定义a和a:hover样式因为访问过,样式不需要改变,见下例:

导航栏效果的做法


8. 6和7综合练习(面试题)

例题

需求:在不该body里代码的情况下

1. 登录链接为红色,主导航栏里所有链接为蓝色

2. 主导航栏和侧导航栏里面文字都是14px 且是 微软雅黑

3. 主导航栏里面的一级菜单链接文字颜色为绿色

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,295评论 6 512
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,928评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 166,682评论 0 357
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,209评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,237评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,965评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,586评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,487评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,016评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,136评论 3 340
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,271评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,948评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,619评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,139评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,252评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,598评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,267评论 2 358

推荐阅读更多精彩内容

  • 1.css如何工作 是一种用于向用户指定文档如何呈现的语言——文档如何被指定样式、布局等 1.1css实际上如何工...
    MajorDong阅读 463评论 0 0
  • 浏览器与服务器的基本概念 浏览器(安装在电脑里面的一个软件) 作用: ①将网页内容渲染呈现给用户查看。 ②让用户通...
    云还灬阅读 1,125评论 0 0
  • 1.CSS基本概念 1.1 CSS的定义 CSS(Cascading Style Sheets)层叠样式表,主要用...
    寥寥十一阅读 1,838评论 0 6
  • 概述 在网易云课堂学习李南江老师的《从零玩转HTML5前端+跨平台开发》时,所整理的笔记。笔记内容为根据个人需求所...
    墨荀阅读 2,341评论 0 7
  • 第01阶段.前端基础.CSS初识 CSS层叠样式表 学习目标 理解css的目的作用css的三种引入方式 应用css...
    __method__阅读 405评论 0 0