css语法和基本知识
1、CSS全称为“层叠样式表”,它主要是用于定义HTML内容在浏览器内的显示样式,如文字大小、颜色、字体加粗等。
注:使用CSS样式的一个好处是通过定义某个样式,可以让不同网页位置的文字有着统一的字体、字号或者颜色等。
2、css语法
css 样式由选择符和声明组成,而声明又由属性和值组成,如下图所示:
选择符:又称选择器,指明网页中要应用样式规则的元素,如本例中是网页中所有的段(p)的文字将变成蓝色,而其他的元素(如ol)不会受到影响。
声明:在英文大括号“{}”中的的就是声明,属性和值之间用英文冒号“:”分隔。当有多条声明时,中间可以英文分号“;”分隔,如下所示:
p{font-size:12px;color:red;}
注意:
1、最后一条声明可以没有分号,但是为了以后修改方便,一般也加上分号。
2、为了使用样式更加容易阅读,可以将每条代码写在一个新行内,如下所示:
p{
font-size:12px;
color:red;
}
3、CSS样式
CSS样式一共有三种:内联式、嵌入式和外部式。
(1)内联式:把CSS代码直接写在HTML标签中,并且要写在style=""中,如有多条CSS样式,可以写在一起,以分号隔开,最后一条样式可以不用分号,但可以写上,方便后面加上其它CSS样式。
<span style="font-size:12px;color:blue";>内联式</span>
(2)嵌入式:把CSS代码写在<style type="text/css"></style>标签之间,嵌入式css样式必须写在<style></style>之间,并且一般情况下嵌入式css样式写在<head></head>之间。
<style type="text/css">
span{
color:red;
}
</style>
(3)外部式:把CSS代码写一个单独的外部文件中,这个css样式文件以“.css
”为扩展名,在<head>内(不是在<style>标签内)使用<link>标签将css样式文件链接到HTML文件内。
<link href="base.css" rel="stylesheet" type="text/css" />
注:三种CSS样式写法的优先级,内联式>嵌入式>外部式,但是嵌入式>外部式有一个前提:嵌入式css样式的位置一定在外部式的后面。其实总结来说,就是就近原则(离被设置元素越近优先级别越高)
。但注意上面所总结的优先级是有一个前提:内联式、嵌入式、外部式样式表中css样式是在的相同权值的情况下,什么是权值呢?后面会讲。
三种样式如下:
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!--外部式-->
<link href="style.css" rel="stylesheet" type="text/css">
<-- 嵌入式css样式 -->
<style type="text/css">
span{
color:red;
}
</style>
</head>
<body>
<!-- 内联式 -->
<span style="color:pink">超酷的互联网</span>
</body>
</html>
4、选择器
CSS样式声明由两部分组成,“选择器”指明了{}中的“样式”的作用对象,也就是“样式”作用于网页中的哪些元素。
选择器{
样式;
}
(1)标签选择器:标签选择器其实就是html代码中的标签。如右侧代码编辑器中的<html>、<body>、<h1>、<p>、<img>。
<style type="text/css">
h1{
color:red;
font-weight:normal;
}
</style>
<h1>标签选择器</h1>
(2)类选择器:通过标签的class属性的值来设置标签的CSS样式。
<style type="text/css">
.spans{
color:red;
}
</style>
<span class="spans">类选择器</span>
(3)ID选择器:通过标签的id属性的值设置标签的CSS样式。
<style type="text/css">
#spans{
color:red;
}
</style>
<span id="spans">ID选择器</span>
(4)后代选择器:标签A中包含B标签,那么A就是B标签的父元素,B就是A标签的子元素,一个标签可以有多个子元素。如果存在多个class相同的元素,但是只想修改指定的class元素的样式,可以使用后代选择器。使用后代选择器可以更加精确的定位元素:
<style type="text/css">
.father .son1{
color: red;
}
.son1{
color: blue;
}
<p class="father">后代选择器
<span class="son1">子元素1</span>
<span class="son2">子元素2</span>
</p>
<span class="son1">子元素3</span>
注:实验发现后面设置.son1的样式并不会影响到前面后代选择器写法中class = .son1的元素,至于为什么,还不知道原因。
(5)子选择器:根据父元素的ID或者class的值来设置第一代子元素的样式。写法如下:
.father > li{ <!-- 如果是Id选择器,.father改为#father-->
color: red;
}
<ul class="father" id="father">
<li>儿子1</li>
<li>儿子2</li>
<ul>
<li>孙子</li>
</ul>
</ul>
注:子选择器仅是指它的直接后代,或者你可以理解为作用于子元素的第一代后代。而后代选择器是作用于所有子后代元素。后代选择器通过空格来进行选择,而子选择器是通过“>”进行选择。
(6)通用选择器:它是功能最强大的一个选择器,用*号来指定,它的作用是匹配html中的所有标签元素。
(7)伪类选择器:它允许给html不存在的标签设置样式,比如说鼠标滑过一个标签时,显示的样式。如下面的a标签,当鼠标滑过时,a标签的颜色就会变成红色:
a:hover{
color: red;
}
(8)分组选择器:当你想要为多个标签设置同一个样式时,可以使用分组选择器,不同标签之间用,隔开。如下:
h1, h2, h3{
color: red;
font-size: 20px;
}
<h1>分组选择器1</h1>
<h2>分组选择器2</h2>
<h3>分组选择器3</h3>
<h4>分组选择器4</h4>
5、CSS的继承、特殊性和层叠
(1)继承:一个标签A里面包含其他标签BC,那么A标签的后代就是BC标签,A标签具有的一些属性是可以被BC标签继承的,有些属性是不可以的,详情请看:https://www.cnblogs.com/thislbq/p/5882105.html
(2)选择器的特殊性:当多个样式规则作用于同一个元素中时,究竟哪个样式会生效呢?这要取决于特殊性的高低。标签选择器的权值为1,类选择器的权值为10,ID选择器的权值为100,例子:
判断class="one"的元素最后显示的是什么颜色?
#one{
color: blue;
}
li{
color: red;
}
.one{
color: green;
}
<ul>
<li class="one" id="one">1</li>
<li>2</li>
<li>3</li>
</ul>
显然,ID选择器的权值更高,所以显示的是蓝色。
(3)层叠:在html文件中对于同一个元素可以有多个css样式存在,当有相同权重的样式存在时,会根据这些css样式的前后顺序来决定,处于最后面的css样式会被应用。内联样式表(标签内部)> 嵌入样式表(当前文件中)> 外部样式表(外部文件中)。(嵌入样式>外部样式的条件是,嵌入样式在外部样式之后)
(4)重要性:重要性(!import),来表示样式的最高权值。
语法例子:<p style="color: blue!import;">
6、颜色值
设置颜色的方法:
(1)用英文
p{color: red;}
(2)用RGB颜色值
p{color:rgb(113,145,300);}
(3)用十六进制颜色
p{color:rgb(22%,31%,22%);}
7、长度值
目前比较常用到px(像素)、em、% 百分比,要注意其实这三种单位都是相对单位。
(1)像素:像素为什么是相对单位呢?因为像素指的是显示器上的小点(CSS规范中假设“90像素=1英寸”)。实际情况是浏览器会使用显示器的实际像素值有关,在目前大多数的设计者都倾向于使用像素(px)作为单位。
(2)em:就是本元素给定字体的 font-size 值,如果元素的 font-size 为 14px ,那么 1em = 14px;如果 font-size 为 18px,那么 1em = 18px。如下代码:
p{font-size:12px;text-indent:2em;}
注:但当给 font-size 设置单位为 em 时,此时计算的标准以 p 的父元素的 font-size 为基础。如下代码:
(3)百分比
p{font-size:12px;line-height:130%}
设置行高(行间距)为字体的130%(12 * 1.3 = 15.6px)。
css语法和基本知识的更多相关文章
- 前端知识之CSS(1)-css语法、css选择器(属性、伪类、伪元素、分组与嵌套)、css组合器
目录 前端基础之css 1.关于css的介绍 2.css语法 3.三种编写CSS的方式 3.1.style内部直接编写css代码 3.2.link标签引入外部css文件 3.3.标签内直接书写 4.c ...
- CSS语法小记
一.CSS语法结构 语法:选择符{属性:值} 例如:body{font-size:12px;} 参数说明: 1.选择符(Selector):指明这组样式所要针对的对象.可以是一个XHTML标签,例如h ...
- CSS语法与用法小字典
前言:这是上学时期对CSS学习的整理,一直没见过光,由于不是专门做前端开发的,难免写不到重点,但对于看懂CSS,和掌握一些基本的用法,熟悉里面的门路还是大有裨益的.由于是从word中贴过来的,排版和格 ...
- css+js+html基础知识总结
css+js+html基础知识总结 一.CSS相关 1.css的盒子模型:IE盒子模型.标准W3C盒子模型: 2.CSS优先级机制: 选择器的优先权:!important>style(内联样式) ...
- CSS 语法
CSS 语法 CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明: 选择器通常是您需要改变样式的 HTML 元素. 每条声明由一个属性和一个值组成. 属性(property)是您希望设置的样 ...
- CSS简介及基本知识
(CSS)cascading style sheets:层叠样式表.级联式样式表,简称:样式表. Sheets :就是一个样式文件,它的扩展名为.css Style:外观,个性化 样式表的位置 为了学 ...
- CSS语法基础
引言:CSS语法 CSS规则由两个主要的部分构成:选择器,以及一条或者多条声明. selector { property: value; property: value; ... property: ...
- 前端基础----CSS语法、CSS四种引入方式、CSS选择器、CSS属性操作
一.CSS语法 CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明. 例如: h1 {color:red; font-size:14px;} 二.CSS四种引入方式 1,行内式 行内式是在标 ...
- {前端CSS} 语法 Css的几种引入方式 css选择器 选择器的优先级 CSS属性相关 背景属性 边框 CSS盒子模型 清除浮动 overflow溢出属性 定位(position)z-index
前端CSS CSS介绍 CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素,给HTML设置样式,让它更加美观. 当浏览器读到一个样式表,它就会按照这个样式表来对文 ...
随机推荐
- js中的stopImmediatePropagation方法和stopPropagation方法的区别
看到e.stopImmediatePropagation()这个方法时,记忆有点模糊了.特地回顾一下. 基本概念 stopImmediatePropagation方法:该方法作用在当前节点及事件链的所 ...
- Docker三剑客之Docker Machine
一.什么是Docker Machine Docker Machine 是Docker官方编排项目之一,使用go语言编写的,使用不同引擎在多种平台上快速的安装Docker环境,开源地址:https:// ...
- POJ 2636
#include<iostream> #include<stdio.h> using namespace std; int main() { //freopen("a ...
- 13-01 java StringBuffer类,StringBuilder类
StringBuffer类的构造方法 package cn.itcast_01; /* * 线程安全(多线程讲解) * 安全 -- 同步 -- 数据是安全的 * 不安全 -- 不同步 -- 效率高一些 ...
- oracle跨平台数据迁移 expdp/impdp 字符集问题 导致ORA-02374 ORA-12899 ORA-02372
环境描述: 源数据库环境: 操作系统:Windows SERVER 2008R2 数据库版本:单实例 ORACLE 11.2.0.1 目标端数据库环境: 操作系统:redhat ...
- xamarin android 实现二维码带logo生成效果
MultiFormatWriter writer = new MultiFormatWriter(); Dictionary<EncodeHintType, object> hint = ...
- C#:VS2010 由于缺少调试目标"xx.exe",Visual Studio无法开始调试,请生成项目并重试,或者相应地设置OutputPath和AssemblyName属性,使其指向目标程序集的正确位置
解决办法:重置VS2010的环境配置 原文地址:曾是土木人 转载请注明出处:http://www.cnblogs.com/hongfei/p/3813369.html
- PHP:判断客户端是否使用代理服务器及其匿名级别
要判断客户端是否使用代理服务器,可以从客户端所发送的环境变量信息来判断. 具体来说,就是看HTTP_VIA字段,如果这个字段设置了,说明客户端使用了代理服务器. 匿名级别可以参考下表来判断. 给出一个 ...
- Grape简介
什么是Grape Grape是Ruby中的一个类REST API框架,被设计用于运行在Rack上或弥补已有的web应用框架(比如Rails或者Sinatra),Grape提供了一个简单的DSL用于方便 ...
- redis的高级事务CAS(乐观锁)
Optimistic locking using check-and-set(乐观锁) 乐观锁介绍:watch指令在redis事物中提供了CAS的行为.为了检测被watch的keys在是否有多个cli ...