CSS基础

1 CSS的概念

CSS(Cascading Style Sheets,层叠样式表)是一种用于定义网页和其他文档的外观和样式的语言。它用于控制文档中元素的布局、颜色、字体、间距、大小、边框和动画等外观属性。

层叠:多个样式可以作用在同一个html的元素上,同时生效,是一种用来表现HTML或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。

  • 样式定义如何显示 HTML 元素
  • 样式通常存储在样式表
  • 把样式添加到 HTML 4.0 中,是为了解决内容与表现分离的问题
  • 外部样式表可以极大提高工作效率
  • 外部样式表通常存储在 CSS 文件
  • 多个样式定义可层叠为一个

CSS很像化妆,通过不同的CSS将同样的HTML内容打造为不同的呈现结果。

2 CSS的优势

CSS(层叠样式表)具有多个优势,使其成为网页设计和开发中的核心技术之一:

  1. 分离内容与样式:CSS 允许将页面的内容与其外观样式分开,这意味着你可以单独管理网站的布局和外观,而不必修改 HTML 结构。这样的分离提高了代码的可维护性和可扩展性。

  2. 一致性:使用 CSS 可以轻松实现网站的一致性外观。通过在多个页面使用相同的样式表,你可以确保网站中的元素(如标题、链接、按钮等)具有一致的外观,提供更好的用户体验。

  3. 网页加载速度:CSS 文件通常比使用内联样式或基于表格布局的页面加载更快,因为它可以被浏览器缓存,从而减少了每次加载页面时需要下载的内容量。

  4. 响应式设计:CSS 允许实现响应式网页设计,使网站能够在不同设备和屏幕尺寸上呈现良好的外观和布局。通过媒体查询和弹性布局,可以轻松调整页面元素的大小和位置。

  5. 可访问性:合理使用 CSS 可以提高网站的可访问性。通过定义语义化的 HTML 结构和使用适当的样式来强调内容,可以使页面更容易阅读和理解,对于残障用户也更加友好。

  6. 简化维护:通过将样式信息集中在一个或多个 CSS 文件中,可以轻松地对整个网站进行样式更改,而无需逐个修改每个页面。

  7. 动画和过渡效果:CSS 支持动画和过渡效果,使网站更具吸引力和交互性。你可以使用 CSS 动画来创建平滑的过渡和交互元素。

  8. 可扩展性:CSS 提供了强大的选择器和样式规则,允许你根据需要添加新的样式或修改现有样式,以适应不同的设计需求。

总的来说,CSS 是一种强大的技术,它有助于实现高度可定制的网页设计,提高了网站的外观和性能,并简化了代码的管理和维护。这些优势使得 CSS 成为现代网页开发的不可或缺的一部分。

3 CSS的使用:CSS与html结合使用

根据定义CSS的位置不同,分为行内样式、内部样式和外部样式

3.1 行内样式

也称为内联样式,直接在标签中编写样式,通过使用标签内部的 style 属性。

一般在测试的时候使用居多:
语法:
<html标签 style="样式1:值1;样式2:值2;....样式N:值N;">hello my css</html标签>
案例:
<div style="color: red;">hello my css</div>

弊端:只能对当前的标签生效,没有做到内容和样式相分离,耦合度太高。

3.2 内部样式

定义在head标签内,通过 style 标签,该标签内容就是CSS代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>内部样式</title>
		<style>
			div{
				color: red;
			}
		</style>
	</head>
	<body>
		<div>hello my css</div>
	</body>
</html>

3.3 外部样式

1、提前定义css资源文件
2、在head标签内,定义link标签引入外部样式文件。

lina.css文件,放在与html页面同级的css文件夹中:
div {
	color: red;
}

html页面中的引入
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>外部样式</title>
		<link rel="stylesheet" href="css/lina.css" />
	</head>
	<body>
		<div>hello my css</div>
	</body>
</html>

作用域的范围: 外部样式表 > 内部样式表 > 行内样式表
优先级:外部样式表 < 内部样式表 < 行内样式表

同样的样式作用在同一个标签身上:就近原则
不同样式作用在同一个标签身上:叠加生效。

4 CSS语法

基本格式:由两个主要的部分构成:选择器,以及一条或多条声明:

选择器 {
		属性1:值1;
		属性2:值2;
		...
}
选择器:筛选具有相似特征的元素
属性和属性值之间用冒号分割,不同的属性之间用分号隔开。

例如:
在这里插入图片描述

5 CSS注释

注释是用来解释你的代码,并且可以随意编辑它,浏览器会忽略它。

CSS注释以 /* 开始, 以 */ 结束

/*这是CSS的注释*/
div {
	color: red;  /*文字颜色是红色*/
}

6 基本选择器:筛选具有相似特征的元素

6.1 id选择器

选择具有相同id属性值的元素,建议html页面中的id值唯一

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

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

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

虽然多个元素可以使用同一个id选择器控制样式,但是不推荐。如果需要同样的样式对多个标签生效,使用class选择器。

在这里插入图片描述

6.2 class选择器

选择具有相同的class属性值的元素。

class 选择器用于描述一组元素的样式,class 选择器有别于id选择器,class可以在多个元素中使用。

class 选择器在HTML中以class属性表示, 在 CSS 中,类选择器以一个点.号显示:

注意:类名的第一个字符不能使用数字!它无法在 Mozilla 或 Firefox 中起作用。

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

6.3 元素选择器/标签选择器

选择具有相同标签名称的元素。
定义选择器语法:标签名称{}

注意:标签名称必须是html提供好的标签。

使用标签选择器:自动使用在所有的同名的标签上

在这里插入图片描述

7 优先级

7.1 选择器的优先级

ID选择器 > 类选择器 > 标签选择器

当多个选择器作用在同一个标签上的时候,如果属性冲突,看优先级;如果不冲突,样式叠加生效。

7.2 样式表的优先级

行内样式 > 内部样式 > 外部样式

同样,三个样式表中都有内容作用在同一个html标签的时候,如果属性冲突,看优先级;如果不冲突,样式叠加生效。

8 CSS常用样式

8.1 color :字体颜色

跟颜色相关的取值分3种:

  1. 颜色的单词 red blue…

  2. rgb(红,绿,蓝)三色的取值范围是0-255 rgb(255,0,0)
    rgba(红,绿,蓝,透明度)
    透明度取值:0-1 0 全透明 1-不透明 0.5 半透明

  3. #值1值2值3 :值的范式是00-FF 十六进制数字组成的 例如:#FF0000

8.2 width height:宽高

注意:只有块状元素可以设置宽高,行级元素设置不生效。

取值方式有2种:

1.数值 绝对数字 单位是像素 px
2.百分比:占据父元素的比例

8.3 背景样式

.bg{
    /*背景色*/
    background-color: cornflowerblue;
    /*背景图片:背景图片小于标签的宽高的时候,默认平铺*/
    background-image: ur1(img/submit.gif);
    /*背景平铺方式:不设置的时候默认xy轴同时平铺
    repeat-X:横轴平铺
    repeat-y:纵轴平铺
    repeat  :xy同时平铺
    no-repeat:不平铺*/
    background-repeat: no-repeat;
    /*背景位置: 第一个参数: x轴上的偏移距离: 整数向右移动,负数向左移动
    		   第二个参数: y轴上的偏移距离: 正数向下偏移,负数向上偏移
    */
    background-position: 30px 20px;
    /*背景缩写*/
    background: blanchedalmond url(img/submit.gif) no-repeat 20px 30px;
}

8.4 文本样式

div{
    /*所有的块状元素都有宽和高的属性:行级元素没有高宽*/
    width: 500px;
    height: 400px;
    /*背景样式:建议少用缩写形式*/
    background:tan url(img/a.png) no-repeat 10px 10px;
    /*字体*/
    font-size: 18px;
    font- family: "微软雅黑";
    font-weight: bold;
    /*字体缩写:粗细大小样式*/
    font: bold 24px "微软雅黑";
    /*文本样式*/
    /*划线位置: line-through 中划线
    		   underline 下划线 
    		   none 没有划线*/
    text-decoration: underline;
    /*文本的水平对齐方式: left right center*/
    text-align: center;
    /*文本的垂直对齐方式:没有单个属性可以设置垂直对齐;
    一般单行的时候使用高度等于行高设置垂直居中;
    多行未来使用盒子模型;*/
    line-height: 400px;
    /*文字之间的间隙*/
    letter-spacing: 10px;
}

8.5 列表样式

li{
   background-color: lemonchiffon;
   /*列表样式:常用取值:none-无样式 square-正方形  circle-空心圆 decimal-数字*/
   list-style-type:decimal;
   /*列表样式为自定义图片*/
   list-style-image: url(img/b.png);
   /*列表的样式放置的位置*/
   list-style-position:outside;            
   /*列表样式缩写:上面三个的缩写*/
   list-style: square url(img/b.png) inside;
   /*常用的列表样式*/
   list-style: none;
}

8.6 边框样式

.border{
        /*边框宽度*/
        border-width: 2px;
        /*边框颜色*/
        border-color: red;
        /*边框样式:
            solid-实线
            dotted-点线
            dashed-虚线
        */
        border:solid gray 5px;
        /*边框可以分为4个方向分别设置*/
        border-top: dashed black 4px;
        border-bottom: dashed darkblue 4px;
        border-left: dashed fuchsia 4px;
        border-right: dashed beige 4px;
        /*没有边框*/
        border: none;
        /*常用细边框样式*/
        border: solid 1px #ccc;
    }

9 HTML&CSS调试利器

以谷歌浏览器为例说明:

快捷键 F12 或者工具条中的开发者工具调出以下内容:

在 elements 中可以看到当前页面的所有标签,在 styles 中可以看到 html 元素对应的样式。

在这里插入图片描述

10 盒子模型

10.1 概念

所有HTML元素可以看作盒子,在CSS中,"box model"这一术语是用来设计和布局时使用。
CSS盒模型本质上是一个盒子,封装周围的HTML元素,它包括:边距,边框,填充,和实际内容。
盒模型允许我们在其它元素和周围元素边框之间的空间放置元素。

盒子模型说明图:

1693999090186)

  • Margin(外边距) - 清除边框外的区域,外边距是透明的。
  • Border(边框) - 围绕在内边距和内容外的边框。
  • Padding(内边距) - 清除内容周围的区域,内边距是透明的。
  • Content(内容) - 盒子的内容,显示文本和图像。
/*
 border:边框,分4个方向,同理margin和padding也分四个方向
 margin:元素与元素之间的距离
 padding:内容和边框之间的距离
 * */
.div{
   border: solid red 10px;
   /*四个方向上的元素与元素之间的距离都是50px*/
   margin: 50px;
   /*两个值的时候:第一个参数50表示上下的距离是50px,第二个参数100表示左右的距离是100px*/
   margin: 50px 100px;
   /*三个值的时候:第一个参数50表示上的距离是50px,第二个参数100表示左右的距离是100px,第3个参数150表示上下的距离是50px*/
   margin: 50px 100px 150px;
   /*四个值:上右下左的顺序设置外边距*/
   margin: 50px 100px 150px 200px;
   /*padding的取值意思同上*/
   padding: 50px;
   /*一个元素的真正宽度=width+左右的padding值+左右的border的值
    * 一个元素的真正高度=width+上下的padding值+上下的border的值
    */
}

在这里插入图片描述

10.2 盒子的宽度和高度

元素的实际宽度和高度:

当我们计算一个元素实际在页面占有的总宽度计算公式是这样的:

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

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

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

10.3 如果想要设置的宽度直接就是元素的实际宽度,通过box-sizing属性

/*
 box-sizing:确认元素的大小
 content-box:实际宽度=width+左右的padding值
 			 实际高度=height+上下的padding值+上下的border值
 border-box:实际宽度=width;实际高度=height ;
 padding和border不会影响元素的实际宽高
*/
box-sizing: content-box;

11 补充常用样式

11.1 float 浮动

11.1.1 什么是浮动

CSS 的 Float(浮动),会使元素向左或向右移动,其周围的元素也会重新排列。
Float(浮动):往往是用于图像,但它在布局时一样非常有用。

11.1.2 元素怎样浮动

元素的水平方向浮动,意味着元素只能左右移动而不能上下移动。

一个浮动元素会尽量向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。

浮动元素之后的元素将围绕它。

浮动元素之前的元素将不会受到影响。

11.1.3 彼此相邻的浮动元素

如果你把几个浮动的元素放到一起,如果有空间的话,它们将彼此相邻。

11.1.4 clear–清除浮动

元素浮动之后,周围的元素会重新排列,为了避免这种情况,使用 clear 属性。

clear 属性指定元素两侧不能出现浮动元素。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>浮动</title>
		<style>
			div{
				width: 400px;
				height: 200px;
				margin-bottom: 10px;
			}
		</style>
	</head>
	<body>
		<!--没有浮动属性的元素都属于常规文档流:从上往下从左往右依次显示
			浮动的元素都脱离了常规文档流;
			为了好理解:大家可以认为浮动元素属于一层,非浮动元素属于一层
			如果想要非浮动元素不受浮动元素的影响,需要使用clear属性
		-->
		<div style="background: rgba(255,0,0,0.5); float: left;">
			div1-左浮动,脱离常规文档流,紧贴父元素或者上一个同方向浮动
		</div>
		<div style="background: lawngreen; width: 600px; height: 350px; ">
			div2-未浮动,常规文档流,
			<br/>PS:此时div1在div2的上方显示,因为div1和div2是不同文档流中的元素,显示互不影响
			如果不想让div2被浮动元素影响,需要添加clear属性。
			添加clear: left;之后div2就会忽略div1浮动的影响,在div1层后面显示,不会重叠了,大家可以自己试验一下
		</div>
		<div style="background: lightblue; float: right; width: 1800px;">
			div3-右浮动,脱离常规文档流,紧贴父元素或者上一个同方向浮动
		</div>
		<div style="background: lightcoral; width: 600px; height: 350px; ">
			div4-未浮动,常规文档流,
			<br/>PS:此时div3在div4的上方显示,因为div3和div4是不同文档流中的元素,显示互不影响
			如果不想让div4被浮动元素影响,需要添加clear属性。
			添加clear: right;之后div4就会忽略div3浮动的影响,在div3层后面显示,不会重叠了,大家可以自己试验一下
			
			clear属性有三个取值:left、right、both;分别是取出左浮动、有浮动和所有浮动元素的影响
		</div>
		<div style="background: lavender;">
			div5-未浮动,常规文档流,
		</div>
	</body>
</html>

11.2 overflow

控制内容溢出元素框时显示的方式。

overflow属性有以下值:

描述
visible默认值。内容不会被修剪,会呈现在元素框之外。
hidden内容会被修剪,并且其余内容是不可见的。
scroll内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。
auto如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。
inherit规定应该从父元素继承 overflow 属性的值。

注意: overflow 属性只工作于指定高度的块元素上。

注意: 在 OS X Lion ( Mac 系统) 系统上,滚动条默认是隐藏的,使用的时候才会显示 (设置 overflow:scroll 也是一样的)。

11.3 Display(显示) 与 Visibility(可见性)

11.3.1 两者的区别

display 属性设置一个元素应如何显示,visibility 属性指定一个元素应可见还是隐藏。

隐藏一个元素可以通过把 display 属性设置为none,或把 visibility 属性设置为hidden。但是请注意,这两种方法会产生不同的结果。

visibility:hidden可以隐藏某个元素,但隐藏的元素仍需占用与未隐藏之前一样的空间。也就是说,该元素虽然被隐藏了,但仍然会影响布局。

display:none可以隐藏某个元素,且隐藏的元素不会占用任何空间。也就是说,该元素不但被隐藏了,而且该元素原本占用的空间也会从页面布局中消失。

11.3.2 display 改变元素的类型

CSS样式有以下三个:

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

12 复合选择器

由两个或多个基础选择器,通过不同方式组合而成的。可以更准确更精细的选择目标元素标签。

12.1 全局选择器

语法:* {} 一般去掉标签的一些默认效果的时候使用,或者整站通用效果时使用。但是不推荐,一般将*替换为常用标签的名称,并用逗号分隔,其实就是使用并集选择器。

/*整个网站的通用样式*/
/*所有的页面都需要去除所有的元素本身的默认样式*/
*{
    margin: 0;
    padding: 0;
    font: normal 14px "微软雅黑"color: #333;
}

12.2 并集选择器

并集选择器(CSS选择器分组)是各个选择器通过,连接而成的,通常用于集体声明。

语法:选择器1,选择器2,…选择器N{}

意思是多个选择器都是通用的样式。任何形式的选择器(包括标签选择器、class类选择器id选择器等),都可以作为并集选择器的一部分。

div,p,ul,li,ol,dl,dd,dt{
    margin: 0;
    padding: 0;
}

12.3 交集选择器

条件:交集选择器由两个选择器构成,找到的标签必须满足:既有标签一的特点,也有标签二的特点。

语法:h3.class{ color:red; }

其中第一个为标签选择器,第二个为class选择器,两个选择器之间不能有空格,例如div.list。

交集选择器是并且的意思。 既…又…的意思

例如:   table.bg   选择的是: 类名为 .bg  的 表格标签,但用的相对来说比较少。

12.4 后代选择器

概念:后代选择器又称为包含选择器。

作用:用来选择元素或元素组的子孙后代。

其写法就是把外层标签写在前面,内层标签写在后面,中间用空格分隔,先写父亲爷爷,在写儿子孙子。

  格式:父级 子级{属性:属性值;属性:属性值;}

语法:.class h3{color:red;font-size:16px;}

当标签发生嵌套时,内层标签就成为外层标签的后代。

子孙后代都可以这么选择。 或者说,它能选择任何包含在内的标签。

12.5 子元素选择器

作用:子元素选择器只能选择作为某元素 子元素(亲儿子) 的元素。

其写法就是把父级标签写在前面,子级标签写在后面,中间跟一个 > 进行连接。

语法:.class>h3{color:red;font-size:14px;}

 比如:  .demo > h3 {color: red;}   说明  h3 一定是demo 亲儿子。  demo 元素包含着h3。

12.6 实现代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>复合选择器</title>
		<style>
			/*全局选择器:
			 	一般去掉标签的一些默认效果的时候使用,或者整站通用效果时使用。但是不推荐,
			 */
			*{
				color: #333;/*定义全局文字颜色,统一色彩基调*/
			}
			/*并集选择器:通常用于集体声明
			 	替换全局选择器;
			 */
			div,p,dldt,dd{
				/*去掉浏览器的默认样式*/
				margin: 0;
				padding: 0;
				color: #333;/*定义全局文字颜色,统一色彩基调*/
			}
			/*交集选择器*/
			li.myli{
				color: red;
			}
			/*后代选择器*/
			ul li{
				font-size: 28px;
			}
			.myUL li{
				font-family: "微软雅黑";
			}
			.myUL li a{
				text-decoration: line-through;
			}
			/*子元素选择器*/
			.demo>h3{
				color: red;
			}			
		</style>
		
	</head>
	<body>
		<ul>
			<li>li11111111111</li>
			<li class="myli">li22222222222</li>
			<li>li33333333333</li>
			<li>li44444444444<a href="">点击我试试</a></li>
			<li class="myUL">
				<ul>
					<li>li11111111111</li>
					<li class="myli">li22222222222</li>
					<li>li33333333333</li>
					<li>li44444444444
						<a href="">点击我试试</a>
					</li>
				</ul>
			</li>
		</ul>
		<ol>
			<li>li11111111111</li>
			<li>li22222222222</li>
			<li>li33333333333</li>
			<li>li44444444444</li>
		</ol>
		<div class="demo">
			div1
			<h3>静夜思</h3>	
			<ul>
				<li><h3>静夜思----li</h3></li>
			</ul>
		</div>
		
	</body>
</html>

12.7 伪类选择器

伪类选择器:和类选择器相区别类选择器是一个点 比如 .demo {} 而我们的伪类 用 2个点 就是 冒号 比如 :link{} 。

作用:用于向某些选择器添加特殊的效果。比如给链接添加特殊效果, 比如可以选择 第1个,第n个元素。

伪类选择器很多,比如链接伪类,结构伪类等等。这里先写链接伪类选择器。

  • a:link :未访问的链接
  • a:visited :已访问的链接
  • a:hover :鼠标移动到链接上
  • a:active :选定的链接
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>伪类选择器</title>
		<style>			
			/*伪类选择器*/			
			a:link{
				color: red;/*默认颜色是红色*/	
			}
			a:visited{
				color: blue;/*访问过的页面是蓝色*/	
			}
			a:hover{
				color: green;/*鼠标悬浮是绿色*/	
				font-size: 28px;
			}
			a:active{
				color: gold;/*按下鼠标不放手是金色*/	
				font-family: "微软雅黑";
			}
		</style>
		
	</head>
	<body>
		<a href="03-常用样式.html" target="_blank">常用样式</a>
		<a href="04-盒子模型1.html" target="_blank">盒子模型</a>
		<a href="05-综合练习.html" target="_blank">综合练习</a>
	</body>
</html>

注意:

  • 写的时候,他们的顺序尽量不要颠倒 按照 lvha(四类的首字母) 的顺序。否则可能引起错误。
  • 因为叫链接伪类,所以都是利用交集选择器 a:link a:hover
  • 因为a链接浏览器具有默认样式,所以我们实际工作中都需要给链接单独指定样式。
  • 实际开发中,我们很少写全四个状态,一般我们写法如下:
a {   /* a是标签选择器  所有的链接 */
	font-weight: 700;
	font-size: 16px;
	color: gray;
}
a:hover {   /* :hover 是链接伪类选择器 鼠标经过 */
	color: red; /*  鼠标经过的时候,由原来的 灰色 变成了红色 */
}

12.8 复合选择器比对

选择器作用特征使用情况隔开符号及用法
后代选择器用来选择元素后代是选择所有的子孙后代较多符号是空格 p .one
子代选择器选择 最近一级元素只选亲儿子较少符号是 > .nav>p
交集选择器选择两个标签交集的部分既是 又是较少没有符号 p.one
并集选择器选择某些相同样式的选择器可以用于集体声明较多符号是逗号 .nav, .header
链接伪类选择器给链接更改状态较多重点记住 a{} 和 a:hover 实际开发的写法

13 布局样式

13.1 布局一

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .page{
            text-align: center;
            border:1px solid #000;
            width: 958px;
            height: 40px;
            margin: 50px auto 0;
        }
        
        .page a{
            font-size: 12px;
            background-color: #55a8ea;
            font-family:'微软雅黑';
            text-decoration:none;
            margin:8px 5px;
            padding:5px 10px;
            display: inline-block;
        }
        
        .page a:hover{
            background-color: red;
        }

        .page span{
            display:inline-block;
            font-size:12px;
        }

        .menu{
            width:958px;
            height:40px;
            border:1px solid #000;
            margin:50px auto 0;
            padding:0;
            list-style:none;
            position:relative;
            line-height:40px;
            background-color:#55a8ea;
        }

        .menu li{
            float:left;
            width:100px;
            height:40px;
            text-align:center;
            line-height:40px;
        }

        .menu li a{

            font:14px/40px 'Microsoft Yahei';
            color:#fff;
            text-decoration:none;
        }

        .menu li:hover{
            background-color:#00619f;
        }
        
        .menu .new{
            width:33px;
            height:20px;
            background:url(images/new.png) no-repeat;
            position:absolute;
            left:433px;
            top:-9px;
        }

        .menu .new:hover{
            background:url(images/new.png) no-repeat;
        }
    </style>
</head>
<body>
    <div class="page">
        <a href="">上一页</a>
        <a href="">1</a>
        <a href="">2</a>
        <a href="">3</a>
        <a href="">4</a>
        <span>...</span>
        <a href="">17</a>
        <a href="">18</a>
        <a href="">19</a>
        <a href="">20</a>
        <a href="">下一页</a>
    </div>

    <ul class="menu">
        <li><a href="">首 页</a></li>
        <li class="active"><a href="">网站建设</a></li>
        <li><a href="">网站建设</a></li>
        <li><a href="">网站建设</a></li>
        <li><a href="">网站建设</a></li>
        <li><a href="">网站建设</a></li>
        <li><a href="">网站建设</a></li>
        <li class="new"></li>
    </ul>
</body>
</html>

效果图:

在这里插入图片描述

13.2 布局二

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type="text/css">
        body,ul,h3{
            margin:0;
            padding:0;
        }

        ul{
            list-style: none;
        }

        .clearfix:before,.clearfix:after{
            content:"";
            display: table;
        }

        .clearfix:after{
            clear: both;
        }

        .clearfix{
            zoom: 1;
        }

        .pic_list_con{
            width: 958px;
            border:1px solid #ddd;
            margin:50px auto 0;
            overflow:hidden;
        }

        .pic_list_con h3{
            width:918px;
            height:50px;
            border-bottom:1px solid #ddd;
            margin:0 auto;
        }

        .pic_list_con h3 span{
            display:inline-block;
            height:50px;
            border-bottom:2px solid red;
            font:18px/50px 'Microsoft Yahei';
            color:#000;
            padding:0 15px;
        }

        .pic_list_con ul{
            width:950px;
            margin:20px 0 13px 20px;
        }

        .pic_list_con ul li{
            width:160px;
            height:68px;
            float:left;
            margin:0 29px 25px 0;
        }
    </style>
</head>
<body>
    <div class="pic_list_con">
        <h3><span>图片列表</span></h3>
        <ul class="clearfix">
            <li><a href=""><img src="images/goods.jpg" alt="商品图片"></a></li>
            <li><a href=""><img src="images/goods.jpg" alt="商品图片"></a></li>
            <li><a href=""><img src="images/goods.jpg" alt="商品图片"></a></li>
            <li><a href=""><img src="images/goods.jpg" alt="商品图片"></a></li>
            <li><a href=""><img src="images/goods.jpg" alt="商品图片"></a></li>
            <li><a href=""><img src="images/goods.jpg" alt="商品图片"></a></li>
            <li><a href=""><img src="images/goods.jpg" alt="商品图片"></a></li>
            <li><a href=""><img src="images/goods.jpg" alt="商品图片"></a></li>
            <li><a href=""><img src="images/goods.jpg" alt="商品图片"></a></li>
            <li><a href=""><img src="images/goods.jpg" alt="商品图片"></a></li>
        </ul>
    </div>
</body>
</html>

效果图:

在这里插入图片描述

13.3 布局三

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .news_list_con{
            width:600px;
            height:290px;
            border:1px solid #ddd;
            margin:50px auto 0;
            overflow:hidden;
        }

        .news_list_con h3{
            width: 560px;
            height: 50px;
            border-bottom: 1px solid #ddd;
            margin: 0px auto;
        }

        .news_list_con h3 span{
            display:inline-block;
            font:18px/50px 'Microsoft Yahei';
            height:50px;
            border-bottom:2px solid red;
            color:#000;
            padding:0 15px;
            position:relative;
        }

        .news_list_con ul{
            list-style: none;
            padding:0;
            width:560px;
            height:238px;
            margin:7px auto 0;
        }

        .news_list_con ul li{
            height: 38px;
            border-bottom: 1px solid #ddd;
        }

        .news_list_con ul a{
            float: left;
            height: 38px;
            font:14px/38px 'Microsoft Yahei';
            text-decoration:none;
            color:#000;
        }

        .news_list_con ul a:hover{
            color: red;
        }

        .news_list_con ul a:before{
            content:"· ";
        }

        .news_list_con ul span{
            float:right;
            height:38px;
            font:14px/38px 'Microsoft Yahei';
            color:#000;
        }
    </style>
</head>
<body>
    <div class="news_list_con">
        <h3><span>新闻列表</span></h3>
        <ul>
            <li><a href="">特征布局:新闻列表所需知识点:盒模型、浮动</a><span>2023-11-25</span></li>
            <li><a href="">特征布局:新闻列表所需知识点:盒模型、浮动</a><span>2022-11-25</span></li>
            <li><a href="">特征布局:新闻列表所需知识点:盒模型、浮动</a><span>2021-11-25</span></li>
            <li><a href="">特征布局:新闻列表所需知识点:盒模型、浮动</a><span>2020-11-25</span></li>
            <li><a href="">特征布局:新闻列表所需知识点:盒模型、浮动</a><span>2019-11-25</span></li>
            <li><a href="">特征布局:新闻列表所需知识点:盒模型、浮动</a><span>2018-11-25</span></li>
        </ul>
    </div>
</body>
</html>

效果图:
[外链图片转存中...(img-QDfUbYo4-1693999090188)]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值