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

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

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

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

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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • TestNg显示器(一个)—–监听器,类型和配置使用—另外META-INF详细解释

    TestNg显示器(一个)—–监听器,类型和配置使用—另外META-INF详细解释

  • iis 启动不了,提示发生意外错误0x8ffe2740 解决最好方法 心得

    iis 启动不了,提示发生意外错误0x8ffe2740 解决最好方法 心得最近总出来两个错误1。每次启动IIS时,总报 “外错误0x8ffe2740 ”2。打开Vs.net2003时,又出来什么目前Asp.net不是1.1什么的。总之不能运行。查www.google.com发现  IIS的错误是因为80端口被占用的缘故。网上侠客,只是说先改IIS的端口。解决最好方法:A)我用“FPort.exe”找到占用端口的程序。B)然后将它

  • 按位取反怎么运算_按位取反在线计算器

    按位取反怎么运算_按位取反在线计算器一、首先二进制在计算机的内存中是以补码的形式存储二、正数的补码=原码=反码,负数的反码=原码的取反(二进制数的符号位除外,一般来说在二进制的左边的最高位)补码=反码+1三、按位取反怎么算按位取反:二进制的每一位都取反(符号位+数据位)公式法:~x=-(x+1)举两个例子:~11=-(11+1)=-12~(-11)=10公式法的内部是如何计算的呢:以~11为例:~11的计算步骤:计算11的补码转二进制:01011计算补码:01011按位取反:10100(按位取反

  • visio2010密钥

    visio2010密钥GR24B-GC2XY-KRXRG-2TRJJ-4X7DCVWQ6G-37WBG-J7DJP-CY66Y-V278X2T8H8-JPW3D-CJGRK-3HTVF-VWD83HMCVF-BX8YB-JK46P-DP3KJ-9DRB222WT8-GGT7M-7MVKR-HF7Y4-MCWWDVX6BF-BHVDV-MHQ4R-KH9QD-6TQKVJ4MVP-7F4X4-V8W2C-…

  • 强制删除文件 强制删除文件夹

    强制删除文件 强制删除文件夹
    在桌面新建一个txt文本打开这个txt文本,输入下面两行内容:
    del/f/s/q//?/%1
    rd /s/q//?/%1
    然后文件->另存为
    重新命名文件名为del.bat,并选择文件类型为“所以文件”,最后保存文件 
    一定要记着文件的位置了把要删除的文件拖到这个批处理del.bat上文件就静悄悄的删除了^-^

  • pycharm 2021.11 激活码-激活码分享

    (pycharm 2021.11 激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html4M…

发表回复

您的电子邮箱地址不会被公开。

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