我是靠谱客的博主 大力烤鸡,最近开发中收集的这篇文章主要介绍前端基础学习之CSS,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一.CSS的基本介绍

前面已经学习了HTML,了解到HTML是一种超文本标记语言,它是使用标记标签来描述网页,而一般情况下HTML输入文本,如果想要将文本设置成好看的样式,就需要借助今天所学习CSS(Cascading Style Sheet)来实现,当浏览器读取到CSS样式时,就会按照这个样式对文本进行渲染,达到我们想要的文本效果。

二.CSS的引用方式

方法一:行内样式(同时行内样式的优先级最高,后文会讲到)

<div style="color: red;">今天天气真好</div>

方法二:内部样式(需要在head标签内加入style标签)

<head>
<meta charset="UTF-8">
<title>float</title>
<style>
#d1{
border: 1px solid black;
}
.c1{
height: 50px;
width: 50px;
background-color: blue;
border: 1px solid red;
float: left;
}
.c2{
height:20px;
background-color: darkgray;
}
</style>

方法三:外部样式(单独建立一个CSS文件,然后在在html文件中导入)

<link rel="stylesheet" href="此处写CSS的文件名">

三.CSS选择器

1.基本选器

  • 标签选择器
p {color: "red";}
  • ID选择器
#i1 {
background-color: red;
}
  • 类选择器
.c1 {
font-size: 14px;
}
p.c1 {
color: red;
}
  • 通用选择器
* {
color: yellow;
}

注意:标签中的class属性若有多个,应该用空格分开。

2.组合选择器

  • 后代选择器
li a {
color: green;
}

注意:li和a之间要用空格隔开, 表示使li内部的a标签变成黄色。

  • 儿子选择器
div>a {
font-size:20px;
}

选择所有父级是div标签的a标签,字体大小变成20px。

  • 毗邻选择器
div+p {
margin: 5px;
}

选择所有紧接着div标签之后的p标签

  • 弟弟选择器
#i1~p {
border: 2px solid royalblue;
}

ID为i1后面的所有的p标签(二者是同代关系)

3.属性选择器

/*用于选取带有指定属性的元素。*/
p[title] {
color: red;
}
/*用于选取带有指定属性和值的元素。*/
p[title="213"] {
color: green;
}

4.分组与嵌套

  • 分组:当有n个元素有同样的样式时,无需将其样式再写n遍,我们只需要将其元素名用逗号隔开即可,如下所示:
div, p,a {
color: red;
font-size:30px;
}
  • 嵌套:多种选择器可以混合使用,例如:(将c1内部类中的p标签字体颜色设置为红色)
.c1 p {
color: red;
}

5.选择器的优先级

  1. 越靠近标签的优先级越高(就近原则)
  2. 权重的计算
    1. 内联样式1000(直接写在标签中的style)
    2. ID选择器100
    3. 类选择器10
    4. 元素选择器1
div#d1(101)
div.c1(11)

注意:通过添加 !important方式来强制让样式生效,但并不推荐使用。因为如果过多的使用!important会使样式文件混乱不易维护。

6.伪类选择器

/* 未访问的链接 */
a:link {
color: white;
}
/* 已访问的链接 */
a:visited {
color: yelow;
}
/* 鼠标移动到链接上 */(非常重要,划重点划重点)
a:hover {
color: #FF00FF
}
/* 选定的链接 */ (不常用)
a:active {
color: #0000FF
}
/*input输入框获取焦点时样式*/
input:focus {
outline: none;
background-color: #eee;
}

7.伪元素选择器

/*在p元素之后插入内容*/
p:after {
content:"[?]";
color:blue;
}
/*在p元素之前插入内容*/
p:before {
content:"*";
color:red;
}

以上两个伪元素选择器多用于清除浮动,关于浮动后面会讲到。

/*给首字母设置样式*/(不常用)
p:first-letter {
font-size: 48px;
color: red;
}

四.关于CSS的常用属性

1.字体属性

/*family为设置字体,size为字体大小,weight为字体粗细,color为字体颜色*/
div{
font-family:"Microsoft JhengHei Light",serif;
font-size: 20px;
font-weight: bold;
color:red;
}

2.文本属性

  1. text-align 对齐(重要)
  2. text-decoration 装饰 (去除a标签的下划线(text-decoration: none))
  3. text-indent 首行缩进
div{
text-align: center;
text-decoration: none;
text-indent: 10px;
}

3.color属性

  1. red (直接写名字)
  2. #FF0000
  3. rgb(255, 0, 0) --> rgba(255,0,0,0.5)(a代表透明度)

div{
color:red;
}
div{
color:#ffff;
}
div{
color:rgb(255,255,255);
}
div{
color:rgba(255,21,21,3);
}

4.边框属性border

  1. border-width (边框宽度)
  2. border-style (边框样式)
  3. border-color (边框颜色)
  4. border-radius将边框变成圆角

div{
border-width: 20px;
border-style: solid;
border-color: #ffff;
}
简写:
div{
border:2px solid red;
border-radius: 50%;
}

5.背景属性

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

div{
background-color: #204982;
background-image: url();
}
 背景重复
repeat(默认):背景图片平铺排满整个网页
repeat-x:背景图片只在水平方向上平铺
repeat-y:背景图片只在垂直方向上平铺
no-repeat:背景图片不平铺
*/
background-repeat: no-repeat;
/*背景位置*/
background-position: right top;
/*background-position: 200px 200px;*/
简写为:background:rede url('图片名') no-repeat right top;
/*页面滚动,背景图片不动*/
div{
background-attachment: fixed;
}

6.CSS盒子模型(分为以下四个内容)

  1. content (内容)
  2. padding (内填充) 调整内容和边框之间距离时使用这个属性
  3. border (边框)
  4. margin (外边距) 多用于调整调整标签之间的距离 (注意两个挨着的标签margin取最大值)
/*margin外边距*/
body{
margin-top: 20px;
margin-bottom: 20px;
margin-left: 20px;
margin-right: 20px;
}
简写:
div{
margin:20px 10px 30px 50px;(上右下左)
}
margin也常用来居中盒子
div{
margin: 0 auto;
}
/*padding内填充*/
body{
padding-bottom: 20px;
padding-top: 20px;
padding-left:20px;
padding-right:20px;
}
简写:
div{
padding:20px 30px 10px 5px;(上右下左)
}

提供一个,用于四边;
提供两个,第一个用于上-下,第二个用于左-右;
如果提供三个,第一个用于上,第二个用于左-右,第三个用于下;
提供四个参数值,将按上-右-下-左的顺序作用于四边;

7.display属性

  1. inline(让其具有内联标签的特性)
  2. block (让其具有块级标签的特性)菜单里面的a标签可以设置成block
  3. inline-block(独占一行,也可设置高度和宽度)
  4. none (不让标签显示,不占位)

8.float(浮动)属性

  1. 多用于实现布局效果
    1. 顶部的导航条
    2. 页面左右分栏
  2. float
    1. 任何标签都可以浮动,浮动之后都会变成块级 a标签float之后就可以设置高和宽
  3. float取值:
    1. left:向左浮动
    2. right:向右浮动
    3. none:默认值,不浮动

浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。
由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样。

9.clear属性

作用:
clear 清除浮动–> 清除浮动的副作用(内容飞出,父标签撑不起来)
clear取值:
1.left 在左侧不允许浮动元素。
2.right 在右侧不允许浮动元素。
3.both 在左右两侧均不允许浮动元素。
4.none 默认值。允许浮动元素出现在两侧。
5.inherit 规定应该从父元素继承 clear 属性的值。

.clearfix:after {
content: "";
display: "block";
clear: both;
}

注意:clear属性只会对自身起作用,而不会影响其他元素。

10.overflow溢出属性

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

11.z-index

设置对象的层叠顺序。

  1. z-index 值表示谁压着谁,数值大的压盖住数值小的,
  2. 只有定位了的元素,才能有z-index,也就是说,不管相对定位,绝对定位,固定定位,都可以使用z-index,而浮动元素不能使用z-index
  3. z-index值没有单位,就是一个正整数,默认的z-index值为0如果大家都没有z-index值,或者z-index值一样,那么谁写在HTML后面,谁在上面压着别人,定位了元素,永远压住没有定位的元素。
  4. 从父现象:父亲怂了,儿子再牛逼也没用
#i2 {
z-index: 1000;
}

12.opacity属性

用来定义透明效果。取值范围是0~1,0是完全透明,1是完全不透明。

13.定位(position)

  1. static

static 默认值,无定位,不能当作绝对定位的参照物,并且设置标签对象的left、top等值是不起作用的的。

  1. relative(相对定位)

相对定位是相对于该元素在文档流中的原始位置,即以自己原始位置为参照物。有趣的是,即使设定了元素的相对定位以及偏移值,元素还占有着原来的位置,即占据文档流空间。对象遵循正常文档流,但将依据top,right,bottom,left等属性在正常文档流中偏移位置。而其层叠通过z-index属性定义。

注意:position:relative的一个主要用法:方便绝对定位元素找到参照物。

  1. absolute(绝对定位)

定义:设置为绝对定位的元素框从文档流完全删除,并相对于最近的已定位祖先元素定位,如果元素没有已定位的祖先元素,那么它的位置相对于最初的包含块(即body元素)。元素原先在正常文档流中所占的空间会关闭,就好像该元素原来不存在一样。元素定位后生成一个块级框,而不论原来它在正常流中生成何种类型的框。

重点:如果父级设置了position属性,例如position:relative;,那么子元素就会以父级的左上角为原始点进行定位。这样能很好的解决自适应网站的标签偏离问题,即父级为自适应的,那我子元素就设置position:absolute;父元素设置position:relative;,然后Top、Right、Bottom、Left用百分比宽度表示。

另外,对象脱离正常文档流,使用top,right,bottom,left等属性进行绝对定位。而其层叠通过z-index属性定义。

最后

以上就是大力烤鸡为你收集整理的前端基础学习之CSS的全部内容,希望文章能够帮你解决前端基础学习之CSS所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部