CSS学习记录

CSS学习记录

1、CSS简介

CSS指层叠样式表(Cascading Style Sheets),样式通常存储在样式表中,把样式添加到HTML4.0中,是为了解决内容与表现分离的问题。外部样式表可以极大地提高工作效率,通常存储在CSS文件中,多个样式定义可层叠为一个。

样式表定义如何显示HTML元素,就像HTML中字体标签和颜色属性所起的作用那样,样式通常保存在外部的.css文件中。

2、CSS语法

CSS规则由两个主要的部分构成:选择器,以及一条或多条声明。

p {color:red;text-align:center;}

选择器通常是你需要改变样式的HTML元素,每条声明由一个属性和一个值组成。属性(property)是你希望设置的样式属性(style attribute)。每个属性有一个值,属性和值被冒号分开。

CSS注释以“/*”开始,以“*/”结束。

id选择器可以为标有特定id的HTML元素指定特定的样式。

HTML元素以id属性来设置id选择器,CSS中id选择器以“#”来定义。

#para1
{
	text-align:center;
	color:red;
}
<p id="para1">hello</p>

class选择器用于描述一组元素的样式,class选择器有别于id选择器,class可以在多个元素中使用。class选择器在HTML中以class属性表示,在CSS中,类选择器以一个点“.”号显示。

.center
{
	text-align:center;
}

3、CSS样式表

3.1、外部样式表(External style sheet)

当样式需要应用于很多页面时,外部样式表将是理想的选择。在使用外部样式表的情况下,你可以通过改变一个文件来改变整个站点的外观。每个页面使用<link>标签连接到样式表。<link>标签在头部。

<head>
<link rel="stylesheet" type="text/css" href="mystyle.css">
</head>

浏览器会从文件mystyle.css文件中读到样式声明,并根据它来格式文档。

3.2、内部样式表(Internal style sheet)

当单个文档需要特殊的样式时。就应该使用内部样式表,可以使用<style>标签在文档头部定义内部样式表:

<head>
<style>
hr {color:sienna;}
p {margin-left:20px;}
body {background-image:url("images/back40.gif");}
</style>
</head>

3.3、内联样式(Inline style)

由于要将表现和内容混杂在一起,内联样式会损失掉样式表的许多优势。当样式仅需要在一个元素上应用一次时,要使用内联样式,需要在相关的标签内使用样式(style)属性,Style属性可以包含任何CSS属性:

<p style="color:sienna;margin-left:20px">这是一个段落。</p>

4、CSS样式

4.1、CSS背景

CSS背景属性用于定义HTML元素的背景,定义背景效果:

  • background-color 定义了元素的背景颜色
  • background-image 描述了元素的背景图像
  • background-repeat 设置定位与不平铺
  • background-attachment 背景图像是否固定或者随着页面的其余部分滚动
  • background-position 设置背景图像是否及如何重复

4.2、CSS文本格式

  • color 设置文本颜色
  • direction 设置文本方向
  • letter-spacing 设置字符间距
  • line-height 设置行高
  • text-align 对齐元素中的文本
  • text-indent 缩进元素中文本的首行
  • text-shadow 设置文本阴影
  • text-transform 控制元素中的字母
  • text-decoration 用来设置或删除文本的修饰

4.3、CSS字体

  • font 在一个声明中设置所有的字体属性
  • font-family 指定文本的字体系列
  • font-size 指定文本的字体大小
  • font-style 指定文本的字体样式
  • font-variant 以小型大号字体或者正常字体显示文本
  • font-weight 指定字体的粗细

4.4、CSS链接

链接状态一共四个:

  • a:link - 正常,为访问过的链接
  • a:visited - 用户已访问过的链接
  • a:hover - 当用户鼠标放在链接上时
  • a:active - 链接被点击的那一刻

4.5、CSS列表

  • list-style 简写属性,用于把所有用于列表的属性设置于一个声明中
  • list-style-image 将图像设置为列表项标志
  • list-style-position 设置列表中列表项标志的位置
  • list-style-type 设置列表项标志的类型

4.6、CSS盒子模型

  • Margin(外边距) - 清除边框外的区域,外边距是透明的
  • Border(边框) - 围绕在内边距和内容外的边框
  • Padding(内边距) - 清除内容周围的区域,内边距是透明的
  • Content(内容) - 盒子的内容,显示文本和图像

总元素的宽度=宽度+左填充+右填充+左边框+右边框+左边距+右边距

元素的总高度最终计算公式是这样的:

总元素的高度=高度+顶部填充+底部填充+上边框+下边框+上边距+下边距

4.7、CSS边框Border

属性描述
border简写属性,用于把针对四个边的属性设置在一个声明。
border-style用于设置元素所有边框的样式,或者单独地为各边设置边框样式。
border-width简写属性,用于为元素的所有边框设置宽度,或者单独地为各边边框设置宽度。
border-color简写属性,设置元素的所有边框中可见部分的颜色,或为 4 个边分别设置颜色。
border-bottom简写属性,用于把下边框的所有属性设置到一个声明中。
border-bottom-color设置元素的下边框的颜色。
border-bottom-style设置元素的下边框的样式。
border-bottom-width设置元素的下边框的宽度。
border-left简写属性,用于把左边框的所有属性设置到一个声明中。
border-left-color设置元素的左边框的颜色。
border-left-style设置元素的左边框的样式。
border-left-width设置元素的左边框的宽度。
border-right简写属性,用于把右边框的所有属性设置到一个声明中。
border-right-color设置元素的右边框的颜色。
border-right-style设置元素的右边框的样式。
border-right-width设置元素的右边框的宽度。
border-top简写属性,用于把上边框的所有属性设置到一个声明中。
border-top-color设置元素的上边框的颜色。
border-top-style设置元素的上边框的样式。
border-top-width设置元素的上边框的宽度。

4.8、CSS外边距margin

属性描述
margin简写属性。在一个声明中设置所有外边距属性。
margin-bottom设置元素的下外边距。
margin-left设置元素的左外边距。
margin-right设置元素的右外边距。
margin-top设置元素的上外边距。

4.9、CSS填充Padding

属性说明
padding使用简写属性设置在一个声明中的所有填充属性
padding-bottom设置元素的底部填充
padding-left设置元素的左部填充
padding-right设置元素的右部填充
padding-top设置元素的顶部填充

4.10、嵌套选择器

  • p{ }: 为所有 p 元素指定一个样式。
  • .marked{ }: 为所有 class=“marked” 的元素指定一个样式。
  • .marked p{ }: 为所有 class=“marked” 元素内的 p 元素指定一个样式。
  • p.marked{ }: 为所有 class=“marked”p 元素指定一个样式。

4.11、CSS常见属性

display属性:设置一个元素如何显示

visibility属性:设置一个元素应可见还是隐藏

position属性:指定了元素的定位类型

overflow属性:用于控制内容溢出元素框时显示的方式

float属性:会使元素向左或向右移动,其周围的元素也会重新排列。可用于制作水平导航栏

4.12、CSS组合选择符

  • 后代选择器(以空格分隔) 用于选取某元素的后代元素
  • 子元素选择器(以大于号分隔) 只能选择作为某元素子元素的元素
  • 相邻兄弟选择器(以加号分隔) 可选择紧接在另一元素后的元素,且两者有相同的元素
  • 普通兄弟选择器(以破折号分隔) 选取所有指定元素之后的相邻兄弟元素

4.13、CSS元素相关特性

块级元素(block)特性:

  • 总是独占一行,表现为另起一行开始,而且其后的元素也必须另起一行显示;
  • 宽度(width)、高度(height)、内边距(padding)和外边距(margin)都可控制;

内联元素(inline)特性:

  • 和相邻的内联元素在同一行;
  • 宽度(width)、高度(height)、内边距的top/bottom(padding-top/padding-bottom)和外边距的top/bottom(margin-top/margin-bottom)都不可改变,就是里面文字或图片的大小;

块级元素主要有:

  • address , blockquote , center , dir , div , dl , fieldset , form , h1 , h2 , h3 , h4 , h5 , h6 , hr , isindex , menu , noframes , noscript , ol , p , pre , table , ul , li

内联元素主要有:

  • a , abbr , acronym , b , bdo , big , br , cite , code , dfn , em , font , i , img , input , kbd , label , q , s , samp , select , small , span , strike , strong , sub , sup ,textarea , tt , u , var

可变元素(根据上下文关系确定该元素是块元素还是内联元素):

  • applet ,button ,del ,iframe , ins ,map ,object , script

CSS中块级、内联元素的应用:

利用CSS我们可以摆脱上面表格里HTML标签归类的限制,自由地在不同标签/元素上应用我们需要的属性。

主要用的CSS样式有以下三个:

  • display:block – 显示为块级元素
  • display:inline – 显示为内联元素
  • display:inline-block – 显示为内联块元素,表现为同行显示并可修改宽高内外边距等属性

4.14、CSS网页布局

网页布局有很多种方式,一般分为以下几个部分:头部区域、菜单导航区域、内容区域、底部区域

头部区域位于整个网页的顶部,一般用于设置网页的标题或者网页的logo

菜单导航区域包含了一些链接,可以引导用户浏览其他页面

内容区域一般有三种形式:

  • 1列,一般用于移动端
  • 2列,一般用于平板设备
  • 3列,一般用于PC桌面设备

4.15、CSS制作下拉菜单

<style>
/* 下拉按钮样式 */
.dropbtn {
    background-color: #4CAF50;
    color: white;
    padding: 16px;
    font-size: 16px;
    border: none;
    cursor: pointer;
}

/* 容器 <div> - 需要定位下拉内容 */
.dropdown {
    position: relative;
    display: inline-block;
}

/* 下拉内容 (默认隐藏) */
.dropdown-content {
    display: none;
    position: absolute;
    background-color: #f9f9f9;
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
}

/* 下拉菜单的链接 */
.dropdown-content a {
    color: black;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
}

/* 鼠标移上去后修改下拉菜单链接颜色 */
.dropdown-content a:hover {background-color: #f1f1f1}

/* 在鼠标移上去后显示下拉菜单 */
.dropdown:hover .dropdown-content {
    display: block;
}

/* 当下拉内容显示后修改下拉按钮的背景颜色 */
.dropdown:hover .dropbtn {
    background-color: #3e8e41;
}
</style>

<div class="dropdown">
  <button class="dropbtn">下拉菜单</button>
  <div class="dropdown-content">
    <a href="#">菜鸟教程 1</a>
    <a href="#">菜鸟教程 2</a>
    <a href="#">菜鸟教程 3</a>
  </div>
</div>

4.16、CSS制作提示工具

<style>
/* Tooltip 容器 */
.tooltip {
    position: relative;
    display: inline-block;
    border-bottom: 1px dotted black; /* 悬停元素上显示点线 */
}
 
/* Tooltip 文本 */
.tooltip .tooltiptext {
    visibility: hidden;
    width: 120px;
    background-color: black;
    color: #fff;
    text-align: center;
    padding: 5px 0;
    border-radius: 6px;
 
    /* 定位 */
    position: absolute;
    z-index: 1;
}
 
/* 鼠标移动上去后显示提示框 */
.tooltip:hover .tooltiptext {
    visibility: visible;
}
</style>
 
<div class="tooltip">鼠标移动到这
  <span class="tooltiptext">提示文本</span>
</div>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值