CSS从入门到精通(基础篇)

CSS从入门到精通(基础篇)

大家好,又见面了,我是全栈君。

从头学习了一遍css,包括:css基础, css选择器,css优先级,CSS继承和层叠、css样式命名等。

原文请访问我的技术博客番茄技术小栈

CSS基础

HTML、CSS、JavaScript关系

  • HTML是网页内容的载体
  • CSS样式是表现(外观控制)
  • JavaScript是行为,用来实现网页特效效果

什么是CSS

  • CSS 层叠样式表 (Cascading Style Sheets)
  • 用于定义HTML内容在浏览器内的显示样式

为什么学习CSS

  • CSS简化HTML相关标签,网页体积小,下载快
  • 解决内容与表现分离的问题
  • 更好的维护网页,提高工作效率

CSS样式规则

CSS规则由两部分构成:选择器,声明

CSS引用

写在标签内:

<style type=“text/css”>
CSS样式... 
</style>
复制代码

CSS注释

  • html注释:
  • CSS注释:/注释语句/

CSS使用方法

如何引用CSS样式

  • 行内样式(内联样式)
  • 内部样式表(嵌入样式)
  • 外部样式表(Link链入)
  • 导入式

CSS 行内样式

在开始标签内添加style样式属性

<p style=“color:red;”>
	内容
</p>
复制代码

CSS 内部样式

内部样式(嵌入样式),把css样式代码写在:

<style type="text/css">
	样式... 
</style>
复制代码

说明: style要放在head标签之间

CSS外部样式

  • 外部样式表,把CSS样式代码写在独立的一个文件中
  • 扩展名: CSS文件名.CSS
  • 引入外部文件:
<link href=“XX.css" rel="stylesheet" type="text/css" />

复制代码

说明: link要放在head标签之间

CSS 导入式

  • @import “外部CSS样式”
  • 说明:@import写在style标签内最开始

CSS 使用方法区别

类别 引入方法 位置 加载
行内样式 开始标签内style html文件内 同时
内部样式 head中style内 html文件内 同时
外部样式 head中link引用 css样式文件与html文件分离 页面加载时,同时加 载CSS样式
导入式 @import 在样式代码最开始处 css样式文件与html文件分离 在读取完html文件之 后加载

CSS选择器

  • 标签选择器
  • 类选择器
  • ID选择器
  • 全局选择器
  • 群组选择器
  • 后代选择器

类选择器

为HTML标签添加class属性:

<h1 class="red">test</h1>

复制代码

通过类选择器来为具有此class属性的元素设置CSS样式:

.red{color: red;}
复制代码

可对不同类型元素的同一个名称的类选择器设置不同的样式规则:

<h1 class="red">test</h1>
<p>test2</p>
<p class="red"> test3</p>

p.red{color: red;}
h1.red{font-size:20px}
复制代码

同一个元素可以设置多个类,之间有空格隔开

<p class="red fsize">test</p>
复制代码

标签选择器

以HTML标签作为选择器:

p,h1,h2,h3,h4{
	font-size: 30px;
}

p{
	color:blue;
	font-family:"隶书";
}

h1{
	color:red;
}
复制代码

ID选择器

为HTML标签添加ID属性:

<h1>test1</h1>
<p id="p1">test2</p>
<p id="p2">test3</p>
复制代码

通过ID选择器来为具有此ID的元素设置CSS规则:

#p1{
	color:red;
}

#p2{
	color:blue;
}
复制代码

全局选择器

所有标签设置样式:

*{
	color: blue;
}
复制代码

群组选择器

集体统一设置样式:

p,h1,h2,h3,h4{
	font-size: 30px;
}

p{
	color:blue;
	font-family:"隶书";
}

h1{
	color:red;
}
复制代码

后代选择器

使用后代选择器设置,之间用空格隔开:

<p><em>test</em></p>
复制代码
p em{
	font-size: 40px;
}
复制代码

后代选择器可以多层

xp a em {......} /*p标签中a标签中的em*/
#p1 em {......} /*id为p1的标签中的em*/
p.red a em {......} /*class 为red的p标签中的a标签的em
复制代码

伪类

连接伪类

链接的4中状态:激活状态,已访问状态,未访问状态, 和鼠标悬停状态。

伪类 说明
link 未访问的链接
visited 已访问的链接
hover 鼠标悬停状态
active 激活的链接

伪类: hover和active

  1. :hover用于访问的鼠标经过某个元素时
  2. :active用于一个元素被激活时(即按下鼠标之后放开 鼠标之前的时间)
p:hover {
	color: red;
}

p:active{
	font-size: 20px;
}
复制代码

链接伪类的顺序

:Link > :Visited > :Hover > :Active

** 说明: **

  1. a:hover 必须置于 a:link 和 a:visited 之后,才有效
  2. a:active 必须置于 a:hover 之后,才有效
  3. 伪类名称对大小写不敏感。

CSS继承和层叠

css继承

从父元素那继承部分CSS属性

CSS层叠

  • 可以定义多个样式
  • 不冲突时,多个样式可层叠为一个
  • 冲突时,按不同样式规则优先级啦应用样式

CSS优先级

CSS使用方法优先级

行内样式>内部样式>外部样式

说明:

  1. 链入外部样式表与内部样式表之间的优先级取决于所处位置的先后
  2. 最后定义的优先级最高(就近原则)

CSS优先级规则

同一样式表中:

  1. 权值相同
    • 就近原则(离被设置元素越近优先级越高)
  2. 权值不同
    • 根据权值来判断CSS样式,
    • 哪种CSS样式权值高,就使用哪种样式

选择器权重

  • 标签选择器:权值为1
  • 类选择器和伪类:权值为10
  • ID选择器:权值为100
  • 通配符选择器:权值为0
  • 行内样式:权值为1000

权重规则

  • 统计不同选择器的个数
  • 每类选择器的个数乘以相应权值
  • 把所有的值相加得出选择器的权值
#main div.warning h2{...}
id :1 class:1 标签:2 1*100=100 1*10=10 2*1=2
权值:100+10+2=112
复制代码

!important 规则

  • 可调整样式规则的优先级
  • 添加在样式规则之后,中间用空格隔开
div{
	color:red !important;
}
复制代码

CSS优先级总结

  • !important声明高
  • CSS使用方法的优先级
    • 行内样式>内部样式>外部样式
    • link链入外部样式和style内部样式优先级,取决于先后顺序。
  • 样式表中优先级
    • Id选择器>class选择器>标签选择器>通配符
权值相同 权值不同
就近原则 使用权重高的

CSS样式命名

CSS样式命名规则

  • 采用英文字母、数字以及“-”和“_”命名
  • 以小写字母开头,不能以数字和“-”、“_”开头
  • 命名形式:单字,连字符,下划线和驼峰
  • 使用有意义的命名

常用的CSS样式命名

页面结构

页头:header 
页面主体:main 
页尾:footer 
内容:content/container 
容器: container
导航:nav 
侧栏:sidebar 
栏目:column 
页面外围控制:wrapper 
左右中:left right center

复制代码

导航

导航:nav 
主导航:mainnav 
子导航:subnav 
顶导航:topnav 
边导航:sidebar
左导航:leftsidebar 
右导航:rightsidebar 
菜单:menu 
子菜单:submenu 
标题: title
摘要: summary
复制代码

功能

标志:logo 
广告:banner 
登陆:login 
登录条:loginbar
注册:register 
搜索:search 
功能区:shop 
标题:title
复制代码

id和class使用

  • id不要滥用, 谨慎使用
  • 适当使用class

————————-华丽的分割线——————–

看完的朋友可以点个喜欢/关注,您的支持是对我最大的鼓励。

个人博客番茄技术小栈掘金主页

想了解更多,欢迎关注我的微信公众号:番茄技术小栈

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/107608.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • sql prompt工具

    sql prompt工具SQLPrompt是一款拥有SQL智能提示功能和格式化Sql代码插件。可用于的SQLServer和VS。SQLPrompt能根据数据库的对象名称,语法和用户编写的代码片段自动进行检索,智能的为

    2022年7月1日
    34
  • 手机通讯录实现

    手机通讯录实现

    2022年1月13日
    62
  • 粘贴行列如何转换_sql实现行转列

    粘贴行列如何转换_sql实现行转列假如现在我们有这样一张表,命名为TB_STUDENT_SCORE 表中内容为: 可能会用到pivot的常见情况是:需要生成交叉表格报表以汇总数据。例如,假设需要在TB_STUDENT_SCORE表中中查询 学生姓名,各科成绩,总分,平均分,名称以生成报表。

    2025年7月28日
    3
  • 机器视觉光源的选择_机器视觉光源选择方法

    机器视觉光源的选择_机器视觉光源选择方法环形光源主要是为机器视觉,工业检测灯方面的LED光源,具有亮度可调,低温,均衡,无闪烁,无阴影,同时在特用的内嵌式的结构,同时可以添加偏光片加上光线的干扰应用实例电路板字符检测包装检测易拉罐罐底检测食

    2022年8月1日
    8
  • 如何制作bt种子文件「建议收藏」

    首先,先整一个比特彗星然后打开点击文件,点击制作torrent文件在tracker服务器这一项里添加这些服务器http://torrentzilla.org/announcehttp://kinorun.com/announce.phphttp://torrent-team.net/announce.phphttp://bt.3dmgame.com:2710/announcehttp://tracker.ali213.net:8080/announcehttp://bt.ali.

    2022年4月7日
    147
  • mt4平台交易系统下载_mt4软件下载工具

    mt4平台交易系统下载_mt4软件下载工具我们在使用ea回测的时候,如果使用自带的数据回测,因为数据质量问题,无法回测出ea的实际盈亏能力。这时就需要一个高质量的数据来回测,而自带的数据往往不能满足这一点我今天要介绍的是一款tickstory的数据下载。以英镑美元为例:1、选中你要下载的货币对,右键,选择导出mt4中。2、选择导出的时间范围,最高可以10年。3、选择时间周期,按照默认的就行。4、选择…

    2022年8月15日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号