3.CSS

本章目标

  • 选择器
  • 常用样式
  • 应用方式
  • 盒子模型

本章内容

为什么要使用CSS样式:

HTML标签的样式比较单一,很难维护

样式表的切换可以改变网站整体界面风格

层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML文件样式的计算机语言

一、选择器

1、样式规则

CSS的基本结构由三部分组成:选择器、属性、属性值

2、选择器类型

  • 标签选择器:根据HTML标签选择样式应用的属性 标签名
  • 类选择器:根据class属性选择样式应用的属性 .样式类型名
  • ID选择器:根据ID属性选择样式应用的元素 #元素id

3、标签选择器

以HTML文档中的标签作为选择符

<HTML>

<HEAD>
    <TITLE>样式规则</TITLE>
    <STYLE >
        P {
            color: red;
            font-family: "隶书";
            font-size: 24px;
        }
    </STYLE>
</HEAD>

<BODY>
    <H2>自勉</H2>
    <P>多少白发翁,</P>
    <P>蹉跎悔歧路。</P>
    <P>寄语少年人,</P>
    <P>莫将少年误。</P>
</BODY>

</HTML>

4、类选择器

问题:如果希望其他的标签也能采用P标签的样式,怎么办?

解答:其他标签和P标签应该采用相同的样式,所以要为它们定义一个共享样式类型

.class 选择器为所有具有指定类的元素添加样式,类值的名称必须紧跟在.后面

在标签中通过class属性来引入类选择器

<HEAD>
    <TITLE>样式规则</TITLE>
    <STYLE >
        .red {
            color: red;
            font-family: "隶书";
        }
    </STYLE>
</HEAD>

<BODY>
    <H2 class="red">自勉</H2>
    <P class="red">多少白发翁,</P>
    <P class="red">蹉跎悔歧路。</P>
    <P>寄语少年人,</P>
    <P class="red">莫将少年误。</P>
</BODY>

5、ID 选择器

id指定具有id的元素。id值的名称必须紧跟在#后面。

通过id属性来引用ID选择器

id通常在HTML文档中是唯一的

<HEAD>
    <STYLE >
        #fire {
            color: red;
            font-size: 24px;
        }
    </STYLE>
</HEAD>

<BODY>
    <H2 ID="fire">我是二级标题,火是这样的</H2>
    <P ID="fire">我是段落,火是这样的</P>
</BODY>

二、常用样式

1、常用的文本样式属性

文本属性 说 明
font-size 字体大小
font-family 字体类型
font-style 字体样式
color 设置或检索文本的颜色
text-align 文本对齐

定义颜色:

值类型 样式
rgb函数:rgb(R,G,B)R、G、B可用百分比值表示,也可用0~255的整数值表示 color: rgb(100%,0,0),color: rgb(255,0,0)
使用十六进制数组:#RRGGBB,或#090 color: #FF0000
直接使用颜色名 color:red

示例:

<STYLE >
    P {
        font-size: 12px;
        font-family: "宋体";
        text-align: left;
    }

    .bigFont {
        font-size: 16px;
        color: red;
    }
</STYLE>
</HEAD>

<BODY>
    【新闻】[设搜狐为首页] 9月1日
    <P class="bigFont">世锦赛刘翔12秒95夺冠成就大满贯</P>
    <P>·我国实施不安全食品召回制度 遏制非法出口</P>
</BODY>

2、常用二

文本属性 说 明
font-weight 字体粗细
line-height 文字行高
word-spacing 单词间距
letter-spacing 字母间距
text-decoration 文本样式
<style>
    p {
        color: #888888;
        font-size: 14px;
        word-spacing: 10px;
        letter-spacing: 2px;
        font-weight: 700;
        line-height: 1.5;
        width: 500px;
    }
</style>
</head>

<body>
    <p>
        Abram went north out of Egypt to the southern part of Canaan with his wife and everything he owned, and Lot went
        with him.
    </p>
</body>

3、常用三

背景属性 说 明
background-color 设置背景颜色
background-image 设置背景图像
background-repeat 设置一个指定的图像如何被重复可取值repeat-x、 repeat、 no-repeat、repeat-y
<STYLE >
    ……
  table
{
  background-image:url(images/type_back1.jpg);
  background-repeat:no-repeat;
}
</STYLE>

4、伪类

常用属性

属性 说明
a:link 设置超链接在未被访问前的样式
a:hover 设置超链接在其鼠标悬停时的样式
a:visited 设置超链接在其链接地址已被访问过时的样式
a:active 设置超链接在被用户激活(在鼠标点击与释放之间发生的事件)时的样式

示例

<style>
    A {
        color: blue;
        text-decoration: none;
    }

    A:hover {
        color: red;
    }

    A:active {
        color: green;
    }

    A:visited {
        color: yellowgreen;
    }
</style>

<body>
    <table>
        <TR>
            <TD><A href="demo02.html">华为</A> | <A href="demo05.html">摩托罗拉</A></TD>
            <TD><A href="demo03.html">联想</A> | <A href="demo06.html">戴尔</A></TD>
        </TR>
    </table>
</body>

5、其它属性

属性 说明
List-style-type 设置列表元素的标记(比如圆点、符号、或者自定义计数器样式)
text-indent 段落首行缩进两个字符
border-radius 设置圆角
<style>
 p{
    text-indent: 2em;/*em是相对单位,2em即现在一个字大小的两倍*/
 }
</style>

<body>
    <p>当盒子没有设置固定高度时,高度会随着行高的变化而变化。当盒子设置了固定高度时,高度不会随着行高的变化而变化。当希望一个元素中的文本垂直居中于这个元素时,行高应该等于盒子的高度</p>
</body>

示例二

<style>
    table {
        border-radius: 5pc;
        border: 1px solid red;
    }
</style>

<body>
    <table>
        <TR>
            <TD><A href="#">诺基亚</A> | <A href="#">摩托罗拉</A></TD>
            <TD><A href="#">联想</A> | <A href="#">戴尔</A></TD>
            <td><a href="demo01.html">华为</a></td>
        </TR>
    </table>
</body>

6、CSS样式的组合

可以将多个选择器设置为相同的样式,并用逗号隔开,呈现一致的外观

<style>
    h1,
    h2,
    .p1 {
        color: red;
    }
</style>
</head>

<body>
    <h1>Java程序员</h1>
    <h2>大山程序员</h2>
    <p class="p1">大山程序员</p>
</body>

7、样式表的关联性

样式表的关联性指在某些样式定义中,可以定义某样式仅在某个特定元素范围内才有效

<style>
.p1 a
{
    color:red;
}
</style>
</head>

<body>
<a href="#">大山程序员</a><br />
<p class="p1">大山程序员<a href="#">大山程序员</a></p>…

“.p1 a”:该样式将选择应用p1样式的元素内的所有a标签

三、三类应用方式

1、内嵌样式表

写在style标签内

<head>
    <style >
         样式规则
    </ style>
</head>

2、行内(嵌入)样式表

直接写在标签的style属性中

<html>
<head>
    <title>设置属性</title>
</head>
<body>
    <p style="color:red;font-size:30px;font-family:隶书;">
        这个段落应用了样式
    </p>p>
        这个段落按默认样式显示
</body>

</html>

3、外部样式表

建立独立的css文件,扩展名为.css

使用LINK(链接)标签 :
<head>
<link href="newsyle.css" rel="stylesheet" >
</head>

四、盒子模型(了解)

1、盒子模型

所有HTML元素可以看作盒子,在CSS中,“box model”这一术语是用来设计和布局时使用。

CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距(margin),边框(border),填充(padding),和实际内容(content)

盒模型允许我们在其它元素和周围元素边框之间的空间放置元素。

如果把盒子模型看作是一个生活中的快递,那么内容部分等同于你买的实物,内边距等同于快递盒子中的泡沫,边框等同于快递盒子,外边距等同于两个快递盒子之间的距离

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

影响盒子大小的因素:内容区,内边距,边框会影响盒子的大小,外边距不会影响

2、常用的方框样式属性

属 性 CSS名称 说 明
边界属性 margin-top 设置对象的上边距
margin-right 设置对象的右边距
margin-bottom 设置对象的下边距
margin-left 设置对象的左边距
边框属性 border-style 设置边框的样式
border-width 设置边框的宽度
border-color 设置边框的颜色
填充属性 padding-top 设置内容与上边框之间的距离
padding-right 设置内容与右边框之间的距离
padding-bottom 设置内容与下边框之间的距离
padding-left 设置内容与左边框之间的距离

示例一

<STYLE >
    .tableBorder {
        border-right-width: 3px;
        border-right-color: red;
        border-right-style: dashed;
        padding-top: 20px;
        padding-left: 10px;
    }

    TR {
        background: yellow;
    }
</style>
<TABLE>
    <TR>
        <TD class="tableBorder">手机冲值</TD>
        <TD class="tableBorder">电子彩票</TD>
    </TR>
</TABLE>

示例二

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<style>
    table{
        width: 400px;
        height: 400px;
        border: 1px solid red;
        padding: 20px;
        margin-left: 20px;
    }
</style>
<body style="margin: 0px;">

<table>
    <tr>
        <td>手机</td>
    </tr>
</table>

</body>
</html>

注意:body和浏览器之间有距离,要设置body style=“margin: 0px;”时才能去掉距离,而不是设置table的margin

posted @ 2025-04-14 15:13  icui4cu  阅读(34)  评论(0)    收藏  举报