Web︱CSS

这篇博客深入介绍了CSS,包括选择器(id、class和元素选择器)、背景属性、文本样式、链接样式、列表样式、表格样式、盒子模型、定位、浮动、对齐等。还涵盖了CSS3的新特性,如渐变、阴影、边框图像、多列布局、弹性盒子和多媒体查询,为网页设计提供了全面的样式控制方法。
摘要由CSDN通过智能技术生成

CSS

简介

  1. CSS,即层叠样式表 (Cascading Style Sheets),样式定义如何显示 HTML 元素

  2. 外部样式表可以极大提高工作效率,通常存储在 CSS 文件中。

  3. CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明:
    在这里插入图片描述

  4. CSS声明总是以分号(;)结束,声明总以大括号({})括起来:

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

  1. CSS注释以 /* 开始, 以 */ 结束。

选择器

1. id选择器

可以为标有特定id的HTML元素指定特定的样式。HTML元素以id属性来设置id选择器,CSS 中id选择器以 “#” 来定义。

#para1
{
   
   text-align:center;
   color:red;
}

ID属性不要以数字开头,数字开头的ID在 Mozilla/Firefox 浏览器中不起作用。

2. class选择器

class 选择器用于描述一组元素的样式,在 CSS 中,类选择器以一个点**"."**号显示。
在以下的例子中,所有拥有 center 类的 HTML 元素均为居中。

.center {
   text-align:center;}

也可以指定特定的HTML元素使用class。在以下实例中, 所有的 p 元素使用class=“center” 让该元素的文本居中:

p.center {
   text-align:center;}

3. 元素选择器

元素选择器通过标签名选择元素。

<style>
p{
   
  color:red;
}
</style>
 
<p>p元素</p>
<p>p元素</p>
<p>p元素</p>

背景

  1. 背景颜色:background-color
  2. 背景图像:background-image

(1)默认背景图像水平或者垂直方向平铺重复显示;

body {
   background-image:url('paper.gif');}

(2)如果图像只在水平方向平铺(repeat-x),则:background-repeat:repeat-x;
(3)取消平铺:background-repeat:no-repeat;
(4)改变图像在背景中的位置: background-position
(5)CSS3允许在元素上添加多个图像

body
{
    
    background-image:url(img_flwr.gif),url(img_tree.gif);
}
  1. background-attachment设置背景图像是否固定或者随着页面的其余部分滚动。
  2. 简写属性

body {background:#ffffff url(‘img_tree.png’) no-repeat right top;}
简写时属性顺序:background-color>image> repeat> attachment> position

  1. 背景平铺background-size:contain

通过拉伸实现,会有失真
同时,在CSS3中,background-size可以设置背景图像的大小,可以指定像素或百分比大小。

div
{
   
    background:url(img_flwr.gif);
    background-size:80px 60px;
    background-repeat:no-repeat;
}
  1. background-origin 属性指定了背景图像的位置区域

content-box, padding-box和 border-box区域内可以放置背景图像。
在这里插入图片描述

div
{
   
    background:url(img_flwr.gif);
    background-repeat:no-repeat;
    background-size:100% 100%;
    background-origin:content-box;
}
  1. 渐变

1)CSS3 定义了两种类型的渐变(gradients):

  • 线性渐变(Linear Gradients)- 向下/向上/向左/向右/对角方向
  • 径向渐变(Radial Gradients)- 由它们的中心定义

以线性渐变为例,从上到下(默认情况下),语法:

background-image: linear-gradient(direction, color-stop1, color-stop2, ...);

//从上到下的线性渐变
#grad {
   
  height: 200px;
  background-image: linear-gradient( red , yellow);
}

//从左到右的线性渐变
#grad1 {
   
  height: 200px;
  background-image: linear-gradient(to right, red , yellow);
}

//从左上角到右下角的线性渐变
#grad {
   
  height: 200px;
  background-image: linear-gradient(to bottom right, red, yellow);
}

2)角度是指水平线和渐变线之间的角度,逆时针方向计算。换句话说,0deg 将创建一个从下到上的渐变,90deg 将创建一个从左到右的渐变。
在这里插入图片描述

//语法
background-image: linear-gradient(angle, color-stop1, color-stop2);

//从右到左:red-->yellow
#grad {
   
  background-image: linear-gradient(-90deg, red, yellow);
}

文本

  1. 文本颜色:color
  2. 文本对齐方式:text-align

当text-align设置为"justify",为两端对齐

  1. 文本修饰:text-decoration
    overline 上划线
    line-through 删除线
    underline 下划线
    从设计的角度看,text-decoration属性主要是用来删除链接的下划线,不建议强调指出不是链接的文本,因为这常常混淆用户。

  2. 文本转换:text-transform用来指定在一个文本中的大写、小写字母和首字母大写。

(uppercase、capitalize、lowercase)

<style>
p.uppercase {
   text-transform:uppercase;}
p.lowercase {
   text-transform:lowercase;}
p.capitalize {
   text-transform:capitalize;}
</style>
</head>

<body>
<p class="uppercase">This is some text.</p>
<p class="lowercase">This is some text.</p>
<p class="capitalize">This is some text.</p>
</body>

  1. 文本缩进:text-indent用来指定文本的首行缩进。
  2. 行高:line-height
  3. 字符间距:letter-spacing
  4. 字间距:word-spacing
  5. 垂直对齐:vertical-align
  6. 文本阴影:text-shadow
  7. 文本方向:direction
  8. 空白格:white-space

normal 默认。多个空白格或者换行符会被合并成一个空白格
pre 有多少空白格,显示多少空白格,相当于pre标签,如果长度超出父容器也不会换行。
pre-wrap 有多少空白格,显示多少空白格,相当于pre标签,如果长度超出父容器,会换行。
nowrap 一直不换行,直到使用br

  1. 字体
  • 字体系列:font-family

(1)font-family 属性应该设置几个字体名称作为一种"后备"机制,如果浏览器不支持第一种字体,他将尝试下一种字体。
(2)注意: 如果字体系列的名称超过一个字,它必须用引号,如Font Family:“宋体”。

  • 字体样式:font-style

如:normal标准字体;italic 斜体

  • 字体大小:font-size

1em的默认大小是16px,通过下面这个公式将像素转换为em:px/16=em

  • 字体粗细:font-weight
  • 字体转变:font-variant

链接

  1. 链接样式

(1)a:link - 正常,未访问过的链接
(2)a:visited - 用户已访问过的链接
(3)a:hover - 当用户鼠标放在链接上时
(4)a:active - 链接被点击的那一刻
当设置为若干链路状态的样式,也有一些顺序规则:

  • a:hover 必须跟在 a:link 和 a:visited后面
  • a:active 必须跟在 a:hover后面

列表样式

  1. 列表项标记list-style-type
<style>
ul.a {
   list-style-type:circle;}
ul.b {
   list-style-type:square;}
ol.c {
   list-style-type:upper-roman;}
ol.d {
   list-style-type:lower-alpha;}
</style>

  1. 列表项图片标记list-style-image
ul
{
   
    list-style-image: url('sqpurple.gif');
}

  1. 列表项标志位置list-style-position

在这里插入图片描述

  1. 列表-简写属性

优先顺序:list-style-type >list-style-position >list-style-image

ul
{
   
    list-style: square url("sqpurple.gif");
}

  1. CSS3多列

CSS3 可以将文本内容设计成像报纸一样的多列布局,有以下几个 CSS3 的多列属性:

  • column-count 需要分割的列数
  • column-gap 列与列间的间隙
  • column-rule-style 列与列间的边框样式
  • column-rule-width 列与列间的边框宽度
  • column-rule-color 列与列间的边框颜色
  • column-rule 是column-rule-* 所有属性的简写
  • column-span 指定元素跨越多少列
  • column-width 指定列的宽度

表格

  1. 表格边框border:1px solid black

image.png

  1. 折叠边框(折叠成一个单一的边框)border-collapse

separate:边框分隔;collapse:边框合并
image.png

盒子模型

  1. 盒子模型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦晨涌京

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值