CSS入门基础(上)(附案例讲解)

1.概述

1.1 简介

CSS(Cascading Style Sheets),层叠样式表。不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。

CSS3 现在已被大部分现代浏览器支持,而下一版的 CSS4 仍在开发中。

1.2 语法

CSS 规则由两个主要的部分构成:①选择器;②声明(一条或多条)
在这里插入图片描述
为了让CSS可读性更强,建议每行只描述一个属性,实例:

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

1.3 注释

注释是用来解释你的代码,并且可以随意编辑它,浏览器会忽略它。
CSS注释以 /* 开始, 以 */ 结束,实例:

/*这是个注释*/
p
{
    
    
    text-align:center;
    /*这是另一个注释*/
    color:black;
    font-family:arial;
}

1.4 应用方式

1.4.1 内部样式(内联样式)

在页面头部通过 style 标签定义。

<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style>
		/* 内部样式 */
		p{
      
      
			color:blue;
		}
	</style>
</head>

1.4.2 行内样式

使用 HTML 标签的 style 属性定义。

<body>
	<div style="color:red;">hello</div>
</body>

1.4.3 外部样式(外联样式)

使用单独的 .CSS 文件定义,然后在页面中使用 link标签@import指令 引入。

<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<!-- link标签 -->
	<link rel="stylesheet" type="text/css" href="CSS样式文件的路径">
	
	<!-- @import指令 -->
	<style>
		/* @import "style/hello.css" */
		@import url(style/hello.css);
	</style>
</head>

2.CSS

2.1 CSS三大特性

2.1.1 继承性

子元素有默认继承父元素样式的特点(部分继承)。常见的继承属性:colorfont-stylefont-weightfont-sizefont-familytext-indenttext-alignline-height

(1)如何判断是否可以继承? 通过调试工具查看。
在这里插入图片描述

(2)继承的优点? 在一定程度上减少代码。

(3)继承的常见应用场景
<ul> 设置 list-style:none 属性,从而去除列表 <li> 默认的小圆点样式;
<body> 标签设置统一的 font-size,从而统一不同浏览器默认文字大小;

(4)继承失效的情况
如果元素有浏览器默认样式,此时继承性依然存在,但是优先显示浏览器的默认样式

  • a 标签的 color 和 h 系列标签的 font-size 会继承失效。这两个,其实属性继承下来了,但是被浏览器默认设置的样式给覆盖掉了。
  • div 的高度不能继承,但是 width 有类似于继承的效果。

2.1.2 层叠性

(1)给同一个标签设置不同的样式,此时样式会层叠叠加共同作用在标签上。
(2)给同一个标签设置相同的样式,样式会层叠覆盖,最终写在最后的样式会生效。

示例:设置相同的 background 背景颜色,最后一个生效。

<div class="box"></div>
.box{
    
    
	background:red;
	background:green;  // 最后生效绿色
}

注意:当样式冲突时,只有当选择器优先级相同时,才能通过层叠性判断结果

2.1.3 优先性

不同选择器具有不同的优先级,优先级高的选择器样式会覆盖优先级低选择器样式。优先级公式:
继承 < 通配符选择器 < 标签选择器 < 类选择器 < id选择器 < 行内样式 < !important

注意
① !important 写在属性值的后面,分号的前面。例子:
{ color : red !important ; }
② !important 不能提升继承的优先级。
③实际开发中不建议使用 !important。

2.2 选择器

2.2.1 标签选择器(元素选择器)

使用HTML标签作为选择器的名称。

<p>黄色</p>
<style>
	p {
      
      
	    color: yellow;
	}
</style>

2.2.2 class选择器

使用自定义的名称,以 . 号作为前缀,然后再通过HTML标签的class属性调用类选择器,以标签的class属性作为样式应用的依据

<p class="green">绿色</p>
<style>
	.green {
      
      
	    color: green;
	}
</style>

2.2.3 id选择器

使用自定义名称,以 # 作为前缀,然后通过HTML标签的id属性进行名称匹配。以标签的id属性作为样式应用的依据,一对一的关系

<div id="part1">红色</div>
<style>
	#part1 {
      
      
		color:red;
	}
</style>

2.2.4 子代选择器

子代选择器可以选择当前元素的所有儿子元素。定义的时候用 > 隔开。

<div>
	<h1>橙色</h1>
</div>
<style>
	div>h1 {
      
      
		color: orange;
	}
</style>

2.2.5 后代选择器

标签元素除了并列书写还可以嵌套书写,后代选择器就是用于选择嵌套标签元素的一种选择器。定义的时候用 空格 隔开。

<p class="part">
    <a href="http://www.baidu.com/">灰色</a>
</p>
<style>
	.part a {
      
      
	    color: gray;
	}
</style>

2.2.6 相邻兄弟选择器

相邻兄弟选择器(Adjacent sibling selector)可选择紧接在另一元素后的元素,且二者有相同父元素。如果需要选择紧接在另一个元素后的元素,而且二者有相同的父元素,可以使用相邻兄弟选择器。定义的时候用 + 隔开。

<div>
    <p>DIV 内部段落。</p>
</div>
<p>DIV 之后的第一个 P 元素。黄色</p>
<p>DIV 之后的第二个 P 元素。</p>
<style>
	div + p {
      
      
	    background-color: yellow;
	}
</style>

2.2.7 后续兄弟选择器

后续兄弟选择器选取所有指定元素之后的相邻兄弟元素。定义的时候用 ~ 隔开。

<div>
    <p>DIV 内部段落。</p>
</div>
<p>DIV 之后的第一个 P 元素。黄色</p>
<p>DIV 之后的第二个 P 元素。黄色</p>
<style>
	div ~ p {
      
      
	    background-color: yellow;
	}
</style>

2.2.8 交集选择器

选择的元素必须同时满足多个条件才可以被选择,交集选择器就是干这个的。定义的时候用 标签名.ID名/类名 。

<p class="part">段落</p>
<h1 class="part">标题</h1>
<style>
	p.part {
      
      
	    color: red;
	}
</style>

2.2.9 并集选择器

多种元素共享某种属性,这时候就可以使用并集选择器。定义的时候用 , 隔开。

<p>段落</p>
<h1>标题</h1>
<a href="https://www.baidu.com/" class="link">打开百度,你就知道!</a>
<button id="click">我是按钮</button>
<style>
	p, h1, .link, #click {
      
      
	    color: red;
	}
</style>

2.2.10 通配符选择器

通配符选择器可以匹配任何标签,我们常用于统一页面样式。

<style>
	* {
      
      
	    color: red;
	}
</style>

2.2.11 伪类选择器

(1)anchor伪类

<a href="https://www.baidu.com/">打开百度,你就知道!</a>
<style>
	a:link {
      
      color:#FF0000;} /* 未访问的链接样式 */
	a:visited {
      
      color:#00FF00;} /* 已访问的链接样式 */
	a:hover {
      
      color:#FF00FF;} /* 鼠标划过链接样式 */
	a:active {
      
      color:#0000FF;} /* 已选中的链接样式 */
</style>

注意:推荐使用顺序为link、visited、hover、active

(2)input伪类

选择器 示例 示例说明
:focus input:focus 选择元素输入后具有焦点
:checked input:checked 选择所有选中的表单元素
:disabled input:disabled 选择所有禁用的表单元素
:enabled input:enabled 选择所有启用的表单元素
:in-range input:in-range 选择元素指定范围内的值
:out-of-range input:out-of-range 选择元素指定范围外的值
:invalid input:invalid 选择所有无效值的元素
:valid input:valid 选择所有有效值的元素
:optional input:optional 选择没有"required"属性的元素素
:required input:required 选择含有"required"属性的元素
:read-only input:read-only 选择只读属性的元素
:read-write input:read-write 选择可写属性的元素

(3)其他伪类

选择器 示例 示例说明
:not(selector) :not§ 选择所有p元素以外的元素
:empty p:empty 选择所有没有子元素的p元素
:first-child p:first-child 选择所有p元素的第一个子元素
:first-of-type p:first-of-type 选择的每个p元素是其父元素的第一个p元素
:last-child p:last-child 选择所有p元素的最后一个子元素
:last-of-type p:last-of-type 选择每个p元素是其父元素的最后一个p元素
:nth-child(n) p:nth-child(2) 选择所有p元素的父元素的正数第二个子元素
:nth-of-type(n) p:nth-of-type(2) 选择所有p元素正数的第二个为p的子元素
:nth-last-child(n) p:nth-last-child(2) 选择所有p元素的父元素的倒数第二个子元素
:nth-last-of-type(n) p:nth-last-of-type(2) 选择所有p元素倒数的第二个为p的子元素
:only-child p:only-child 选择所有仅有一个子元素的p元素
:only-of-type p:only-of-type 选择所有仅有一个子元素为p的元素
:first-letter p:first-letter 选择每个p元素的第一个字母
:first-line p:first-line 选择每个p元素的第一行
:before p:before 在每个p元素之前插入内容
:after p:after 在每个p元素之后插入内容

2.2.12 属性选择器

属性选择器可以根据元素的属性及属性值来选择元素。

实例1:

<input type="text" value="文本框">
<input type="button" value="按钮">
<style>
	input[type="text"] {
      
      
	    width: 150px;
	    display: block;
	    margin-bottom: 10px;
	    background-color: yellow;
	}
	
	input[type="button"] {
      
      
	    width: 120px;
	    margin-left: 35px;
	    display: block;
	}
</style>

实例2:title属性中有hello的标签字体变蓝。

<h2>将会适用:</h2>
<h1 title="hello world">Hello world</h1>
<p title="student hello">Hello CSS students!</p>

<h2>将不适用:</h2>
<p title="student">Hi CSS students!</p>
<style>
	[title~=hello] {
      
      
	    color: blue;
	}
</style>

2.2.13 子串匹配属性选择器

下面为您介绍一个更高级的选择器模块,它是 CSS2 完成之后发布的,其中包含了更多的部分值属性选择器。按照规范的说法,应该称之为“子串匹配属性选择器”。很多现代浏览器都支持这些选择器,包括 IE7。

类型 描述
[abc^=“def”] 选择 abc 属性值以 “def” 开头的所有元素
[abc$=“def”] 选择 abc 属性值以 “def” 结尾的所有元素
[abc*=“def”] 选择 abc 属性值中包含子串 “def” 的所有元素

如果希望对指向 baidu 的所有链接应用样式,不必为所有这些链接指定 class,再根据这个类编写样式,而只需编写以下规则:

<style>
	a[href*="baidu.com"] {
      
      
	    color: red;
	}
</style>

2.3 盒模型

盒模型是网页布局的基础,html 里的每个标签都可以认为是一个方块,方块中又包含着方块,如同盒子一层层的包裹着,这就是盒模型。
⭐盒模型包含这五个属性:width 宽度、height 高度、border 边框、padding 内边距、margin 外边距。

盒模型分为IE盒模型W3C标准盒模型

2.3.1 IE盒模型(怪异盒模型)

属性 width,height 不仅内容content,还包含 border 和 padding。也就是在代码中设置 { width : 200px } 时,指的是上图中的 content + border + padding 的宽度。

2.3.2 W3C标准盒模型(标准盒模型)

属性 width,height 只包含内容content,不包含 border 和 padding。也就是代码中写了:{ width : 200px } 时,指的是上图中蓝色部分 content 的宽度。

①在编写页面代码时应尽量使用标准的W3C模型(需在页面中声明DOCTYPE类型),这样可以避免多个浏览器对同一页面的不兼容。

  • 不声明DOCTYPE类型,IE浏览器会将盒子模型解释为IE盒子模型,FireFox等会将其解释为W3C盒子模型。
  • 声明了DOCTYPE类型,所有的浏览器都会把盒模型解释为W3C盒模型。

②可以通过CSS属性【box-sizing】设置元素的盒模型类型,默认值 content-box 。值有:

  • content-box,W3C盒模型,即 width = content、height = content;
  • border-box,IE盒模型,即 width = content + padding + border ;
  • inherit,继承父级。

2.4 显示特性

2.4.1 显示模式

HTML里的元素可分为三种:块级元素行内元素行内块元素
(1)块级元素
⭐️显示特点
①独占一行,宽度默认是容器(父级宽度)的100%;
②高度宽度外边距及内边距都可以控制;
③可以放很多行内或者块元素。
⭐️常见块级元素
div 、hr、p、h1~h6、ul、ol、dl、form、table
⭐️注意
①文字类元素不能用块元素;
②<p>主要放文字,不能放块元素。

(2)行内元素
⭐️显示特点
①相邻元素多个一行;
②宽高直接设置无效(需转换);
③默认宽度为内容的宽度;
④只能放文本或其他行内元素。
⭐️常见行内元素
span、a、i、em等。
⭐️注意
链接里不能再放链接;
特殊情况<a>里可放块元素,但要给<a>转换块元素最安全。

(2)行内块元素
⭐️显示特点
①相邻行内元素(行内块)在一行,之间有空隙,一行可显示多个;
②可以设置宽高;
⭐️常见行内块元素
input、textarea、button、select等。
⭐️注意
<img>有行内块元素特点,但是Chrome调试工具中显示结果是inline。

2.4.2 显示模式转换

元素的显示和隐藏、以及显示模式的转换,使用 display 属性控制。值有:

含义 说明
none 不显示
inline 显示为内联元素,行级元素的默认值 将块级元素变为行级元素,不再独占一行
block 显示为块级元素,块级元素的默认值 将行级元素变为块级元素,独占一行
inline-block 显示为内联元素,但是可以设置宽和高 在inline基础上允许设置宽度和高度

如要把元素转换成块级元素,CSS中给元素设置属性:display:block
如要把元素转换成行内块级元素,CSS中给元素设置属性:display:inline-block
如要把元素转换成行内元素,CSS中给元素设置属性:display:inline

2.5 定位方式

定位的基本思想很简单,它允许你定义元素框相对于其正常位置应该出现的位置,或者相对于父元素、另一个元素甚至浏览器窗口本身的位置。普通流的布局是从左往右,自上而下的。CSS 开设了 position 属性,该属性可打破普通流。

通过 position 属性实现对元素的定位,该属性有五个值(4种定位方式):

含义 说明
static 默认值 按照常规文档流进行显示
relative 相对定位 相对于标签原来的位置进行的定位
absolute 绝对定位 相对于第一个非static定位的父标签的定位
fixed 固定定位 相对于浏览器窗口进行定位
inherit 继承 规定应该从父元素继承 position 属性的值

2.5.1 相对定位(relative)

以自己本身的位置作为参考,可以通过设置垂直或水平位置,让这个元素”相对于”本身位置的起点进行移动。

注意:使用相对定位时,无论是否进行移动,元素仍然占据原来的空间(类比灵魂出窍)。因此,移动元素会导致它覆盖其它框。

示例:div 设置相对定位,向左偏移 30px + 向上偏移 20px。

div{
    
    
	position: relative;
    left: 30px;
    top: 20px;
}

2.5.2 绝对定位(absolute)

绝对定位使元素的位置与文档流无关,因此不占据空间。这一点与相对定位不同,相对定位实际上被看作普通流定位模型的一部分,因为元素的位置相对于它在普通流中的位置。

绝对定位相对于离它最近的非 static 定位的父/祖先级元素,如果元素没有已定位的父/祖先元素,则会相对于浏览器窗口进行定位。

div{
    
    
	position: absolute;
    left: 30px;
    top: 20px;
}

2.5.3 固定定位(fixed)

固定定位是以浏览器窗口作为参考进行定位的。先设置元素的 position 属性为 fixed,然后再设置偏移量。设置元素为固定定位后,元素会浮动在其他元素上方。

示例:将 div 位置固定在浏览器窗口左上方,设置 div 距离窗口左边 30px,距离顶部 20px。

div{
    
    
	position: fixed;
    left: 30px;
    top: 20px;
}

2.6 常用属性

2.6.1 背景

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

属性 描述
background 简写属性,作用是将背景属性设置在一个声明中。全写:background: background-color background-image background-repeat background-attachment background-position
示例:body { background:#ffffff url(‘img_tree.png’) no-repeat right top; }
background-attachment 背景图像是否固定或者随着页面的其余部分滚动。
background-color 设置元素的背景颜色。
background-image 把图像设置为背景。
background-position 设置背景图像的起始位置。
background-repeat 设置背景图像是否及如何重复。

以上属性无需全部使用,按照页面的实际需要使用。

示例:设置背景颜色为红色。

body {
    
    
	background-color:red;
}

2.6.2 文本

属性 描述
color 设置文本颜色
direction 设置文本方向。
letter-spacing 设置字符间距
line-height 设置行高
text-align 对齐元素中的文本
text-decoration 向文本添加修饰
text-indent 缩进元素中文本的首行
text-shadow 设置文本阴影
text-transform 控制元素中的字母
unicode-bidi 设置或返回文本是否被重写
vertical-align 设置元素的垂直对齐
white-space 设置元素中空白的处理方式
word-spacing 设置字间距

2.6.3 字体

CSS字体属性定义字体,加粗,大小,文字样式。

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

2.6.4 链接

链接的样式,可以用任何CSS属性(如颜色,字体,背景等)。特别的链接,可以有不同的样式,这取决于他们是什么状态。这四个链接状态是:

  • a:link - 正常,未访问过的链接。
  • a:visited - 用户已访问过的链接。
  • a:hover - 当用户鼠标放在链接上时。
  • a:active - 链接被点击的那一刻。
a:link {
    
    color:#000000;}      /* 未访问链接*/
a:visited {
    
    color:#00FF00;}  /* 已访问链接 */
a:hover {
    
    color:#FF00FF;}  /* 鼠标移动到链接上 */
a:active {
    
    color:#0000FF;}  /* 鼠标点击时 */

注意:
a:hover 必须跟在 a:linka:visited 后面
a:active 必须跟在 a:hover 后面

2.6.5 列表

在 HTML中,有两种类型的列表:

  • 无序列表 ul - 列表项标记用特殊图形(如小黑点、小方框等)
  • 有序列表 ol - 列表项的标记有数字或字母
    在这里插入图片描述

所有的CSS列表属性:

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

示例:移除列表的小标记,以及清除列表默认的内边距和外边距。

ul {
    
    
  list-style-type: none;
  margin: 0;
  padding: 0;
}

2.6.6 表格

CSS 表格属性用于定义HTML表格的样式。

属性 描述
border-collapse 设置是否把表格边框合并为单一的边框。
border-spacing 设置分隔单元格边框的距离。
caption-side 设置表格标题的位置。
empty-cells 设置是否显示表格中的空单元格。
table-layout 设置显示单元、行和列的算法。

示例:折叠边框。

table
{
    
    
    border-collapse:collapse;
}
table,th, td
{
    
    
    border: 1px solid black;
}

2.6.7 边框

属性 描述
border 简写属性,用于把针对四个边的属性设置在一个声明。全写:border:border-width border-style border-color
示例:border:5px solid red;
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 设置元素的上边框的宽度。
border-radius 设置圆角的边框。

示例:设置四个边框不同颜色。

<style>
p.box
{
      
      
	border-style:solid;
	border-color:#ff0000 #00ff00 #0000ff rgb(250,0,255);
}
</style>
</head>

<body>
<p class="box">Four-colored border!</p>
</body>

在这里插入图片描述

2.6.8 轮廓

轮廓(outline)指定元素轮廓的样式、颜色和宽度,用作绘制于元素周围的一条线,位于边框边缘的外围,可起到突出元素的作用。

属性 描述
outline 在一个声明中设置所有的轮廓属性 outline-color
outline-style
outline-width
inherit
outline-color 设置轮廓的颜色 颜色值
outline-width
inherit
outline-style 设置轮廓的样式 none
dotted
dashed
solid
double
groove
ridge
inset
outset
inherit
outline-width 设置轮廓的宽度 thin
medium
thick
宽度值
inherit

注意:
outline是不占空间的,既不会增加额外的width或者height(这样不会导致浏览器渲染时出现reflow或是repaint)
outline有可能是非矩形的(火狐浏览器下)

2.6.9 外边距

CSS margin(外边距)属性定义元素周围的空间。
margin 清除周围的(外边框)元素区域。margin 没有背景颜色,是完全透明的。
margin 可以单独改变元素的上,下,左,右边距,也可以一次改变所有的属性。
在这里插入图片描述
margin 的值:

描述
auto 设置浏览器边距。这样做的结果会依赖于浏览器
length 定义一个固定的margin(使用像素,pt,em等)
Margin可以使用负值,重叠的内容。
% 定义一个使用百分比的边距

margin 属性:

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

示例:设置一个使用厘米值的文本的顶部margin。

<style>
	p.ex1 {
      
      
		margin-top:2cm;
	}
</style>
</head>

<body>
	<p>一个没有指定边距大小的段落。</p>
	<p class="ex1">一个2厘米上边距的段落。</p>
	<p>一个没有指定边距大小的段落。</p>
</body>

在这里插入图片描述

2.6.10 填充

CSS padding(填充)是一个简写属性,定义元素边框与元素内容之间的空间,即上下左右的内边距。
当元素的 padding(填充)内边距被清除时,所释放的区域将会受到元素背景颜色的填充。
单独使用 padding 属性可以改变上下左右的填充。
在这里插入图片描述
值:

描述
length 定义一个固定的填充(使用像素,pt,em等)
% 定义一个使用百分比的填充

属性:

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

示例:设置在一个声明中的所有填充属性。

p.ex2 {
    
    
	padding:0.5cm 3cm;
}

2.6.11 溢出内容控制

CSS overflow 属性用于控制内容溢出元素框时显示的方式。该属性可以控制内容溢出元素框时在对应的元素区间内添加滚动条。

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

注意:
①overflow 属性只工作于指定高度的块元素上。
②在 Mac 系统上,滚动条默认是隐藏的,使用的时候才会显示 (设置 “overflow:scroll” 也是一样的)。

2.6.12 浮动

CSS 的 Float(浮动),会使元素向左或向右移动,其周围的元素也会重新排列。Float(浮动),往往是用于图像,但它在布局时一样非常有用。
在这里插入图片描述元素的水平方向浮动,意味着元素只能左右移动而不能上下移动。一个浮动元素会尽量向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。浮动元素之后的元素将围绕它。浮动元素之前的元素将不会受到影响。如果图像是右浮动,下面的文本流将环绕在它左边:

.thumbnail 
{
    
    
    float:left;
    width:110px;
    height:90px;
    margin:5px;
}

float 属性值:

描述
left 向左浮动
right 向右浮动
none 正常情况
inherit 继承

猜你喜欢

转载自blog.csdn.net/xzhlg57656/article/details/129833825