CSS基础知识

CSS(Cascading Style Sheet) 层叠样式表

语法

选择器{
        声明语句
}

例:

h{
  color:red;
  font-size:16px;
}

注释

/*这是单行注释*/
/*
这是多行注释
这是多行注释
*/

引入方式

1.行内引入

<h1 style="color:red;">这是个标题</h1>

2.内嵌
写在html的head里

<style>
  h1{
    color:red;
  }
<style>

3.外链
写在.css文件里,在head里用link引入

<link rel="stylesheet" href="style.css">

选择器

基础选择器

  1. 元素选择器 例:p{ color:red}
  2. id选择器 例: #myText{color:red} 用#+id的形式 在html元素里写id="myText"
  3. 类选择器 例:.myClass{color:red} 用.+class的形式 在html元素里写class="myClass"
  4. 通用选择器 例 : *{color:red} *可以匹配所有元素

关系选择器

  1. 后代选择器:用空格表示 例:
    .block p{color:green}
    会选中block类元素里面的所有p元素
  2. 子元素选择器: 用符号>
    .block>p{color:blue}
    会选中block类元素的子元素(只能选中下一级的p,下下级的p不能选中)
  3. 兄弟选择器1:用符号 ~
    p~div{width:200px;}
    选中p后面所有div兄弟元素
  4. 兄弟选择器2:用符号+
    p+div{width:300px;}
    选中p后面一个div兄弟元素

伪类选择器

例:a:hover{color:blue} 在鼠标悬浮时会变蓝

状态伪类
  1. :link a元素未被访问前
  2. :visited a元素被访问后
  3. :hover 鼠标悬停时
  4. :active 鼠标按下时
结构伪类
  1. :first-child 选中第一个
  2. :last-child 选中最后一个
  3. :nth-child(n) 顺序选中n
  4. :nth-last-child(n) 倒序选中n
    n可以是数字,表示选中第几个,编号从1开始(不是从0开始)
    n可以是关键字(odd,even) 表示奇数和偶数
    n可以是公式,比如2n+1:表示选中1,3,5,7,9,.....

伪元素选择器

注意,伪元素用双冒号(以前都是但冒号,所以有些老的网页是单冒号)

  1. ::first-letter 第一个字
  2. ::first-line 第一行
  3. ::before 内容之前插入一个元素
  4. ::after 内容之后插入一个元素

属性选择器

  • [attribute] 用于选取带有指定属性的元素
  • [attribute=value] 用于选取带有指定属性和值的元素
  • [attribute^=value] 匹配属性值以指定值开头的每个元素
  • [attribute$=value] 匹配属性值以指定值结尾的每个元素
  • [attribute*=value] 匹配属性值中包含指定值的每个元素
  • [attribute~=value] 用于选取属性值中包含指定词汇的元素

选择器分组

有相同属性的选择器都可以写在一起,用逗号分割
例:

h1,div,span{
  color:#333;
  font-family:"微软雅黑";
}

单位

  • px:像素
  • %:百分比,根据父对象为基准。ps:对font-size设置百分比,是以浏览器默认字体16px为基准的。所有浏览器默认字体都是16px
  • em:对于font-size,1em表示和父对象字体一样,2em表示字体大小为父对象2倍。对于长度属性,em相当于该元素的字体大小,如果该元素没有字体属性,则往上查找。
  • rem: 大小相对于根元素html的字体大小
  • vw:基于视窗的宽度计算,1vw 等于视窗宽度的百分之一
  • vh:基于视窗的高度计算,1vh 等于视窗高度的百分之一
  • vmin:基于vw和vh中的最小值来计算,1vmin 等于最小值的百分之一
  • vmax:基于vw和vh中的最大值来计算,1vmax 等于最大值的百分之一
  • calc计算
.box {
   height: calc(50vh - 20px); /* 50% 的视窗高度减掉20px */
   width: calc(100% / 3);  /* 三分之一的父容器宽度 */
   background: red;
}

盒模型

盒模型
  • margin 外边距
  • border 边框
  • padding 内边距
  • content 内容区域

复合属性有top right bottom left 分别对应四个方向
比如border-top 上面的边框
margin-left 坐标的外边距

box-sizing

挺重要的一个属性

  1. content-box 默认 width和height属性是内容区域大小
  2. border-box width和height属性是边框区域大小
  3. inherit 继承自父元素
border属性

border-width
border-style
border-color
简写:

.px1{
    border:1px solid #ccc
}

上下左右的简写顺序:

.box-1{margin:10px 20px 30px 40px}
/*四个参数时,参数对应上,右,下,左*/
.box-2{margin:10px 20px 30px}
/*三个参数时,参数对应 上,左右,下*/
.box-3{margin:10px 20px}
/*两个参数时,参数对应  上下,左右*/
.box-4{margin:10px}
/*一个参数时,表示四条边都是*/

隐藏元素的方式

  1. display:none 相当于游戏引擎的active=false
  2. visibility:hidden 相当于游戏引擎的visible=false
  3. overflow:auto 裁剪滚动显示里面的东西
  4. overflow:hidden 裁剪里面的内容

样式的继承和层叠

有些样式会被子元素继承,比如字体颜色大小等。有些样式不能被继承,比如边框。
层叠权重:自己声明的样式>浏览器自带样式>继承样式
自定义样式优先级:style>id选择器>类选择器>元素选择器>*通用选择器

初始化

由于各个浏览器默认样式不统一,最好用一个初始化css来统一初始化样式
初始化用的css:https://necolas.github.io/normalize.css/6.0.0/normalize.css

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

推荐阅读更多精彩内容

  • 基本常识与实践 css的每一个语句包括一个场所,以及这个场所的一个属性,还要应用到这个属性一个样式,一个典型的cs...
    丁俊杰_阅读 1,037评论 0 0
  • 1.认识CSS样式CSS全称为“层叠样式表 (Cascading Style Sheets)”,它主要是用于定义H...
    静默丶阅读 5,706评论 30 95
  • 1.选择器 元素选择器 id选择器 类选择器 属性选择器[属性名]选取含有指定属性的元素[属性名="属性值"]选取...
    Ching_Lee阅读 210评论 0 0
  • 什么是CSS CSS的作用是是: 可以给网页中的每一个元素设置样式(化妆,排版布局),可以让页面更加精美 CSS提...
    咖啡豆8888阅读 167评论 0 1
  • 0. 真是有趣。 一直强忍着没有写下那些人和事,以为这样,就可以把他们放在心底,自己观赏自己回溯。就像爷爷去世后到...
    乔乔QiaO阅读 152评论 0 0