CSS基础知识点详细总结(一)

CSS是 Cascading Style Sheets 的首字母缩写,意思是层叠样式表。目的是为了让网页元素的样式更加丰富,也为了让网页的内容和样式能拆分开,CSS由此思想而诞生,有了CSS,html中大部分表现样式的标签就废弃不用了,html只负责文档的结构和内容,表现形式完全交给CSS,html文档变得更加简洁。

目录

1、基本语法及引用方法

1.1基本语法

1.2三种引用方法

2、css文本设置

3、颜色表示法

css颜色值主要有三种表示方法:

rgba(新的颜色值表示法)

颜色渐变

4、选择器

4.1、标签选择器

4.2、id选择器

4.3、类选择器

4.4、层级选择器

4.5、组选择器

4.6、伪类及伪元素选择器

5、盒子模型

5.1 盒子模型解释 

5.2 设置边框 

5.3 设置内间距padding

5.4 设置外间距margin

5.5 盒子模型的尺寸

5.6 关于margin设置的一些问题

6、css元素溢出


1、基本语法及引用方法

1.1基本语法

css的基本定义方法是:

选择器 { 属性:值; 属性:值; 属性:值;}

选择器是将样式和页面元素关联起来的名称,属性是希望设置的样式属性每个属性有一个或多个值。选择器有很多种,下面有介绍。

例如:

div{ width:100px; height:100px; color:red }

1.2三种引用方法

  • 内联式 :通过标签的style属性,在标签上直接写样式。
<div style="width: 100%;color: red;font-size: 16px;font-weight: bold;font-style: normal;font-family: '微软雅黑';line-height: 34px">
HTML是 HyperText Mark-up Language 的首字母简写,意思是超文本标记语言,超文本指的是超链接,标记指的是标签,是一种用来制作网页的语言,这种语言由一个个的标签组成,用这种语言制作的文件保存的是一个文本文件,文件的扩展名为html或者htm,一个html文件就是一个网页,html文件用编辑器打开显示的是文本,可以用文本的方式编辑它,如果用浏览器打开,浏览器会按照标签描述内容将文件渲染成网页,显示的网页可以从一个网页链接跳转到另外一个网页。</div>
  • 嵌入式:通过style标签,在网页上创建嵌入的样式表。
<style type="text/css" >
		div{color:red;
			font-size:20px;
			font-family:'Microsoft Yahei';
			line-height:40px;
		}
</style>
  • 外联式:通过link标签,链接到外部样式表到页面中。如下面例子中在对应文件夹下新建main.css,将样式写入其中。
<link rel="stylesheet" type="text/css" href="css/main.css">

CSS的引入方式和JS很类似,有些网站为了增加首页的加载速度,会把首页的CSS和JS采用嵌入式。

2、css文本设置

常用的应用文本的css样式:

  • color 设置文字的颜色,如: color:red;

  • font-size 设置文字的大小,如:font-size:12px;

  • font-family 设置文字的字体,如:font-family:'微软雅黑';

  • font-style 设置字体是否倾斜,如:font-style:'normal'; 设置不倾斜,font-style:'italic';设置文字倾斜  normal(标准) italic(斜体字体样式) oblique(倾斜字体样式)

  • font-weight 设置文字是否加粗,如:font-weight:bold; 设置加粗 font-weight:normal 设置不加粗   normal(标准 400) bold(粗体字体 700)bolder(跟粗的字体) lighter(更细的字体)

  • font 同时设置文字的几个属性,写的顺序有兼容问题,建议按照如下顺序写: font:是否加粗 字号/行高 字体;如: font:normal 12px/36px '微软雅黑'; 字体可以设置多种,根据本地字体库进行按顺序进行适配,如果没有则用默认字体(sans-serif)

    font: 12px/1.5 Microsoft YaHei,Heiti SC,tahoma,arial,Hiragino Sans GB,"\5B8B\4F53",sans-serif;

  • line-height 设置文字的行高,如:line-height:24px;

  • text-decoration 设置文字的下划线,如:text-decoration:none; 将文字下划线去掉 none(默认值)underline(文本下划线)overline(文本上划线)line-through(文本删除线)

  • text-indent 设置文字首行缩进,如:text-indent:24px; 设置文字首行缩进24px  ,text-indent:2em 缩进2个字

  • text-align 设置文字水平对齐方式,如text-align:center 设置文字水平居中 left(排列在左侧,默认值)right(排列在右边) center(排列在中间)justify(实现两端对齐文本效果)

文本水平居中 text-align:center ,那垂直中间呢?小技巧:让文本行高等于父级盒子高度,这样文字就会垂直居中。

3、颜色表示法

css颜色值主要有三种表示方法:

1、颜色名表示,比如:red 红色,gold 金色

2、rgb表示,比如:rgb(255,0,0)表示红色

3、16进制数值表示,比如:#ff0000 表示红色,这种可以简写成 #f00

CSS3中增加了新的颜色表示法,添加了透明度的概念

rgba(新的颜色值表示法)

1、盒子透明度表示法:opacity:0.1;filter:alpha(opacity=10)(兼容IE);
2、rgba(0,0,0,0.1) 前三个数值表示颜色,第四个数值表示颜色的透明度

	<style type="text/css" media="screen">
		.box1{
			background-color: red;
			width: 100px;
			height: 100px;
			margin-top: 20px;
			font:bold 14px/100px 'Microsoft Yahei';
			color: #fff;
			text-align: center;
		}
		.box2{
			background-color: #ff0000;
			width: 100px;
			height: 100px;
			margin-top: 20px;
			font:bold 14px/100px 'Microsoft Yahei';
			color: #fff;
			text-align: center;
		}
		.box3{
			background-color: rgb(255,0,0);
			/*透明度0.5 (兼容IE)*/
			opacity:0.5;
			filter:alpha(opacity=10);
			width: 100px;
			height: 100px;
			margin-top: 20px;
			font:bold 14px/100px 'Microsoft Yahei';
			color: #fff;
			text-align: center;
		}
		.box4{
			background-color: rgba(255,0,0,0.5);
			width: 100px;
			height: 100px;
			margin-top: 20px;			
			font:bold 14px/100px 'Microsoft Yahei';
			color: #fff;
			text-align: center;
		}		
	</style>
</head>
<body>
	<div class="box1">颜色名</div>
	<div class="box2">16进制</div>
	<div class="box3">rgb</div>
	<div class="box4">rgba</div>
</body>

颜色渐变

CSS3中加入了颜色渐变,参见CSS3 渐变 | 菜鸟教程

比较常用的是透明度线性渐变:

<style>
#grad1 {
    width:200px;
    height: 100px;
    background: -webkit-linear-gradient(left, rgba(255,0,0,0), rgba(255,0,0,1)); /* Safari 5.1 - 6.0 */
    background: -o-linear-gradient(right, rgba(255,0,0,0), rgba(255,0,0,1)); /* Opera 11.1 - 12.0 */
    background: -moz-linear-gradient(right, rgba(255,0,0,0), rgba(255,0,0,1)); /* Firefox 3.6 - 15 */
    background: linear-gradient(to right, rgba(255,0,0,0), rgba(255,0,0,1)); /* 标准的语法(必须放在最后) */
}
</style>
</head>
<body>

<h3>线性渐变 - 透明度</h3>
<p>为了添加透明度,我们使用 rgba() 函数来定义颜色结点。rgba() 函数中的最后一个参数可以是从 0 到 1 的值,它定义了颜色的透明度:0 表示完全透明,1 表示完全不透明。</p>

<div id="grad1"></div>

<p><strong>注意:</strong> Internet Explorer 9 及之前的版本不支持渐变。</p>

4、选择器

常用的选择器有如下几种:

4.1、标签选择器

标签选择器,此种选择器影响范围大,建议尽量应用在层级选择器中。
举例:

*{margin:0;padding:0}
div{color:red}   


<div>....</div>   <!-- 对应以上两条样式 -->
<div class="box">....</div>   <!-- 对应以上两条样式 -->

4.2、id选择器

通过id名来选择元素,元素的id名称不能重复,所以一个样式设置项只能对应于页面上一个元素,不能复用,id名一般给程序使用,所以不推荐使用id作为选择器。
举例:

#box{color:red} 

<div id="box">....</div>   <!-- 对应以上一条样式,其它元素不允许应用此样式 -->

4.3、类选择器

通过类名来选择元素,一个类可应用于多个元素,一个元素上也可以使用多个类,应用灵活,可复用,是css中应用最多的一种选择器。
举例:

.red{color:red}
.big{font-size:20px}
.mt10{margin-top:10px} 

<div class="red">....</div>
<h1 class="red big mt10">....</h1>
<p class="red mt10">....</p>

4.4、层级选择器

主要应用在选择父元素下的子元素,或者子元素下面的子元素,可与标签元素结合使用,减少命名,同时也可以通过层级,防止命名冲突。
举例:

.box span{color:red}
.box .red{color:pink}
.red{color:red}

<div class="box">
    <span>....</span>
    <a href="#" class="red">....</a>
</div>

<h3 class="red">....</h3>

         

  子代选择器 

            /* 选择器1>选择器2 */

            /* 只在子代生效,子代以下不生效 */

交集选择器   

        选择器1选择器2   

 

4.5、组选择器

多个选择器,如果有同样的样式设置,可以使用组选择器。
举例:

.box1,.box2,.box3{width:100px;height:100px}
.box1{background:red}
.box2{background:pink}
.box2{background:gold}

<div class="box1">....</div>
<div class="box2">....</div>
<div class="box3">....</div>

4.6、伪类及伪元素选择器

常用的伪类选择器有hover,表示鼠标悬浮在元素上时的状态,伪元素选择器有before和after,它们可以通过样式在元素中插入内容。一般a标签用的比较多。

.box1:hover{color:red}
.box2:before{content:'行首文字';}
.box3:after{content:'行尾文字';}


<div class="box1">....</div>
<div class="box2">....</div>
<div class="box3">....</div>

CSS3中新增了一些选择器,实现起来更加灵活,详见XXX

4.7、emmet语法,快速生成代码

 

5、盒子模型

5.1 盒子模型解释 

元素在页面中显示成一个方块,类似一个盒子,CSS盒子模型就是使用现实中盒子来做比喻,帮助我们设置元素对应的样式。盒子模型示意图如下:

把元素叫做盒子,设置对应的样式分别为:盒子的边框(border)、盒子内的内容和边框之间的间距(padding)、盒子与盒子之间的间距(margin)。

5.2 设置边框 

设置一边的边框,比如顶部边框,可以按如下设置:

border-top-color:red;    /* 设置顶部边框颜色为红色 */  
border-top-width:10px;   /* 设置顶部边框粗细为10px */   
border-top-style:solid;  /* 设置顶部边框的线性为实线,常用的有:solid(实线)  
  dashed(虚线)  dotted(点线); */

上面三句可以简写成一句:

border-top:10px solid red;

设置其它三个边的方法和上面一样,把上面的'top'换成'left'就是设置左边,换成'right'就是设置右边,换成'bottom'就是设置底边。

四个边如果设置一样,可以将四个边的设置合并成一句:

border:10px solid red;

5.3 设置内间距padding

设置盒子四边的内间距,可设置如下:

padding-top:20px;     /* 设置顶部内间距20px */ 
padding-left:30px;     /* 设置左边内间距30px */ 
padding-right:40px;    /* 设置右边内间距40px */ 
padding-bottom:50px;   /* 设置底部内间距50px */

上面的设置可以简写如下:

padding:20px 40px 50px 30px; /* 四个值按照顺时针方向,分别设置的是 上 右 下 左  
四个方向的内边距值。 */

padding后面还可以跟3个值,2个值和1个值,它们分别设置的项目如下:

padding:20px 40px 50px; /* 设置顶部内边距为20px,左右内边距为40px,底部内边距为50px */ 
padding:20px 40px; /* 设置上下内边距为20px,左右内边距为40px*/ 
padding:20px; /* 设置四边内边距为20px */

5.4 设置外间距margin

外边距的设置方法和padding的设置方法相同,将上面设置项中的'padding'换成'margin'就是外边距设置方法。

5.5 盒子模型的尺寸

按照下面代码制作页面:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>盒子的真实尺寸</title>
    <style type="text/css">
        .box01{width:50px;height:50px;background-color:gold;}
        .box02{width:50px;height:50px;background-color:gold;border:50px
         solid #000}
        .box03{width:50px;height:50px;background-color:gold;border:50px
         solid #000;padding: 50px;}
    </style>
</head>
<body>
    <div class="box01">1</div>
    <br />
    <div class="box02">2</div>
    <br />
    <div class="box03">3</div>
</body>
</html>

通过上面的页面得出结论:盒子的width和height设置的是盒子内容的宽和高,不是盒子本身的宽和高,盒子的真实尺寸计算公式如下:

  • 盒子宽度 = width + padding左右 + border左右
  • 盒子高度 = height + padding上下 + border上下

这里要特别提醒下,有的框架,例如bootstarp中 width=内容+padding左右,padding会挤压内容的大小。

5.6 关于margin设置的一些问题

margin相关技巧 
1、设置元素水平居中: margin:x auto;(一般是指块元素)
2、margin负值让元素位移及边框合并

外边距合并

外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距。合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者。解决方法如下:

1、使用这种特性
2、设置一边的外边距,一般设置margin-top
3、将元素浮动或者定位

margin-top 塌陷

两个盒子嵌套时候,内部的盒子设置的margin-top会加到外边的盒子上,导致内部的盒子margin-top设置失败,解决方法如下:

1、外部盒子设置一个边框
2、外部盒子设置 overflow:hidden
3、使用伪元素类:

.clearfix:before{
    content: '';
    display:table;
}

如何消除margin-top塌陷的例子:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style type="text/css" media="screen">
		.con{
			width: 300px;
			height: 300px;
            background-color: gold;
          /*  margin-top: 30px;*/
            /*如何消除margin-top的塌陷问题*/
            /*第一种设置外部盒子的边框*/
            /*border:1px solid gold;*/
            /*第二种设置外部盒子overflow:hidden*/
            /*overflow: hidden;*/
		}
		.box{
			width: 200px;
			height: 100px;
			background-color: gray;
			/*margin: 50px auto;*/
			margin-top: 50px;
		}
         /*第三种使用伪元素类*/
/*		.clearfix:before{
            content: '';
            display:table;
            }*/
	</style>
</head>
<body>
	<div class="con clearfix">
		<div class="box"></div>
	</div>
</body>
</html>

6、css元素溢出

当子元素的尺寸超过父元素的尺寸时,需要设置父元素显示溢出的子元素的方式,设置的方法是通过overflow属性来设置。

overflow的设置项: 
1、visible 默认值。内容不会被修剪,会呈现在元素框之外。
2、hidden 内容会被修剪,并且其余内容是不可见的,此属性还有清除浮动、清除margin-top塌陷的功能
3、scroll 内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。
4、auto 如果内容超过父元素尺寸时,则浏览器会显示滚动条以便查看其余的内容。
5、inherit 规定应该从父元素继承 overflow 属性的值。

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>元素溢出</title>
	<style type="text/css" media="screen">
		.con{
			width: 500px;
			height: 200px;
			border:1px solid #333;
			overflow: auto;
		}
		.box{
			width: 400px;
			height: 300px;
			background-color: gray;
			margin:  auto ;
		}
	</style>
</head>
<body>
	<div class="con">
		<div class="box">当子元素的尺寸超过父元素的尺寸时,需要设置父元素显示溢出的子元素的方式,设置的方法是通过overflow属性来设置。

overflow的设置项: 
1、visible 默认值。内容不会被修剪,会呈现在元素框之外。
2、hidden 内容会被修剪,并且其余内容是不可见的,此属性还有清除浮动、清除margin-top塌陷的功能。
3、scroll 内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。
4、auto 如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。
5、inherit 规定应该从父元素继承 overflow 属性的值。</div>
	</div>
</body>
</html>

  • 6
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HTML5和CSS是网页开发中常用的两种技术。HTML5是一种用于创建网页结构和内容的标记语言,而CSS则是一种用于控制网页样式和布局的样式表语言。 在使用HTML5和CSS进行网页开发时,我们通常需要注意以下几个知识点: 1. HTML标签和语法:HTML5引入了许多新的标签和语法规则,如<header>、<footer>、<nav>等,这些标签可以更好地表示网页的结构和语义。此外,还需要熟悉HTML标签的基本用法和语法规则。 2. CSS选择器和样式:CSS用于控制网页的样式,通过选择器选中HTML元素,并为其定义样式。常用的CSS选择器有标签选择器、类选择器、ID选择器等,可以根据需要选择正确的选择器来修改对应的元素样式。 3. CSS布局:CSS可以用于实现网页的布局,通过盒模型、浮动、定位等属性可以实现各种布局效果,比如居中布局、栅格布局等。 4. 响应式设计:随着移动设备的普及,响应式设计成为了重要的一个概念。通过使用媒体查询和流式布局等技术,可以使网页在不同的设备上自适应地显示。 5. CSS动画和过渡效果:CSS3引入了许多新的动画和过渡效果,通过使用关键帧、过渡和变换等属性,可以实现各种动态效果。 需要注意的是,在使用HTML5和CSS进行网页开发时,我们需要遵循W3C制定的标准,确保网页的兼容性和可访问性。同时,也可以结合JavaScript等其他技术来增强网页的交互性和功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [HTML5CSS3知识点总结(一)](https://blog.csdn.net/qq_63778549/article/details/122047919)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值