前端CSS

文章目录

引入

页面都是由HTML构成的,并且页面上有很多相同的HTML标签,但是相同的HTML标签在不同的位置可能有不同的样式 ,我们如何区分标签?引入标签的两大重要属性

标签的两大重要属性:区分标签

class属性

两个元素或者两个以上元素定义相同的样式>>>:批量查找

id属性

id属性被赋予了标识页面元素的唯一身份>>>:点对点,精准查找

python 复制代码
<div class="c1 c2 c3" ></div>
<p class=" c1 c5" ></p>
<span class=" c1  c8"></span>
<div di="d1 "></div>
<a href="" id="d2"></a>

注意:

1.一个html网页,id是不能重复的,

​ 2.一个标签可以同时定义多个class。

学习CSS流程

1.先学习如何查找标签

2.再学习如何调整样式

CSS前言

层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。 CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。

简单理解:CSS如何显示HTML元素。当浏览器读到一个样式表,它就会按照这个样式表来对文档进行格式化(渲染)。如何区分CSS版本,如CSS3就是css语言,数字3是该语言的版本号

CSS层叠样式表

主要用来调整html标签的各种样式

1.CSS组成

每个CSS样式由两个组成部分:选择器和声明。声明又包括属性和属性值。每个声明之后用分号结束

2.css语法结构
python 复制代码
选择器{
	样式名1:样式值1;
	样式名2:样式值2;
}
3.注释语法
python 复制代码
/*注释内容*/
4.引入css的多种方式
python 复制代码
1.head内style标签内部编写(学习的时候使用)
2.head内link标签引入(标准的方式)
3.标签内部通过style属性直接编写(不推荐)

1.内部样式

嵌入式是将css样式集中写在网页里的标签对的标签中

python 复制代码
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <style>
    h1 {
      color: orange;
    }
  </style>

2.外部样式

外部样式就是将css写在一个单独的文件中,然后在页面进行引入即可

python 复制代码
    <link rel="stylesheet" href="mycss.css">

3.行内样式

行内式是在标记的style属性中设定CSS样式

python 复制代码
    <h3 style="background: burlywood">style属性内直接编写CSS的第三种方法</h3>

CSS选择器

1.CSS基本选择器
python 复制代码
1、标签选择器(直接按照标签名查找标签)
     div {
      color: orange;
      font-size: 30px;
    }
2、类选择器(按照标签的class值查找标签)
	.c1 {
      color: lightskyblue;
      font-size: 30px;
    }

3、id选择器(根据标签的id之精准查找标签)
	#d2 {
      color: darkolivegreen;
      font-size: 35px;
    }
4、通用选择器(直接选择页面所有的标签)
    * {
      color: cornflowerblue;
      font-size: 35px;
    }
2.CSS组成选择器

​ 针对标签的上下层级以及嵌套有另一种说法:父标签 后代标签 子标签 弟弟标签 哥哥标签 祖先标签

python 复制代码
<body>
    <div>div
        <p>div>>p
            <span>div>>p>>span</span>
        </p>
        <p>div>>p</p>
        <span>div>>span</span>
    </div>
    <span>与div同级span1</span>
    <p>与div同级p</p>

    <span>与div同级span2</span>
</body>

1.后代选择器

python 复制代码
div span {
    color: orange;
    font-size: 35px;
}

2.儿子选择器

python 复制代码
div>span {
    color:burlywood;
    font-size: 35px;
}

3.毗邻选择器

python 复制代码
div+span {
    color:burlywood;
    font-size: 35px;
}

4.弟弟选择器

python 复制代码
div~span {
    color:burlywood;
    font-size: 35px;
}
3.分组与嵌套
python 复制代码
1.多个选择器合并查找
	div,p,span{
      color: rebeccapurple;
      font-size: 40px;
    }
2.查找满足条件的选择器
    #d1,.c1,span{
      color: orange;
      font-size: 40px;
    }
3.查找class含有c1的div
    div.c1 {
            color: orange;
          font-size: 40px;
    }
4.查找id是d1的div
    div#d1 {
            color: orange;
          font-size: 40px;
    }
5.查找含有c1样式值里面的含有c2样式值的p标签
    .c1 p.c2 {
            color: orange;
          font-size: 40px;
    }

body内容:
<body>
  <div id="d1" class="c1">I am div(d1)</div>
  <div id="d2" class="c2">I am div(d2)</div>
  <div id="d3" class="c1 c3">I am div(d3)</div>
  <p class="c1">I am p</p>
  <span>I am span</span>
<body>


4.属性选择器
python 复制代码
1.按照属性名查找
    [username] {
      color:red;
      font-size: 40px;
    }
2.按照属性名等于属性值
    [username="kimi"] {
      color:red;
      font-size: 40px;
    }
3.按标签里面的属性名=属性值查找的
    div[username='kimi'] {
     color: #ff7d2a;
        font-size: 40px;
    }
5.伪类选择器
python 复制代码
# a标签补充说明:未点击过的网址默认是蓝色,点击过的则为紫色

1.鼠标移动到链接上,显示orange
   a:hover {
     color: orange;
   }

2.补充
  2.1 未访问的链接,显示下列样式
    a:link {
         color: red;
       }
  2.2 选定的链接不动,采用下列样式
       a:active {
         color: lightskyblue;
       }
  2.3 已访问的链接,采用下面样式
       a:visited {
         color: darkgray;
       }

  2.4 input镖 点输入框时获取焦点时样式
       input:focus {
         background-color: #ff7d2a;
       }
	
6.伪元素选择器
python 复制代码
1.首字母大写且渲染成红色
    p:first-letter {
        font-size: 45px;
        color: red;
    }
2.css在开头添加文本无法正常选中
   p:before {
     content: '嘿嘿嘿';
     color: orange;
   }
3.css在末尾添加文本无法正常选中
   p:after {
     content: '我是删不掉的';
     color: aquamarine;
   }

选择器优先级

CSS继承

继承是CSS的一个主要特征,它是依赖于祖先-后代的关系的。继承是一种机制,它允许样式不仅可以应用于某个特定的元素,还可以应用于它的后代。继承是CSS重要的一部分,我们甚至不用去考虑它为什么能够这样,但CSS继承也是有限制的。有一些属性不能被继承,如:border, margin, padding, background等。

选择器的优先级

1.选择器相同 导入方式不同

就近原则

2.选择器不同 导入方式相同,其实是按照不同选择器的权重来决定的

内联样式 > id选择器 > 类选择器 > 标签选择器

CSS样式调节

1.字体相关
python 复制代码
1.高度和宽度
只有块儿级标签可以设置 行内标签无法设置
<style>
p {
    height: 1000px;  /*高度*/
    width: 50px;	/*宽度*/
}
</style>

2.字体大小
font-family可以把多个字体名称作为一个"回退"系统来保存。如果浏览器不支持第一个字体,则会尝试下一个。浏览器会使用它可识别的第一个值
```python
   body {
  font-family: "Microsoft Yahei", "微软雅黑", "Arial", sans-serif
}

font-size: 99px;  # 字体大小一般有固定的大小参考(字体代码)

3.字体粗细
font-weight用来设置字体的字重(粗细)。
font-weight: bolder;  	/*字体粗*/
font-weight: lighter;	 /*字体细*/
描述
normal 默认值,标准值
bold 粗体
bolder 加粗
lighter 更细
100~900 设置具体粗细,400等同于normal,而700等同于bold
inherit 继承父元素字体的粗细值
2.文本样色

颜色属性被用来设置文字的颜色。颜色是通过CSS最经常的指定,设置颜色方式如下

python 复制代码
1.十六进制值 - 如: #FF0000(颜色编码)
2.一个RGB值 - 如: RGB(255,0,0)
3.颜色的名称 - 如:  red
4.还有rgba(255,0,0,0.3),第四个值为alpha(透明度), 指定了色彩的透明度/不透明度,它的范围为0.0到1.0之间。
3.文本属性

文本对齐

text-align属性规定元素中的文本的水平对齐方式

描述
left 左边对齐 默认值
right 右对齐
center 居中对齐
justify 两端对齐

文本装饰

text-decoration 属性用来给文字添加特殊效果。

描述
none 默认,定义标准的文本
underline 定义文本下的一条线
overline 定义文本上的一条线
line_through 定义穿过文本下的一条先
inherit 继承父元素的text_decoration属性的值

去掉a标签的默认下划线

python 复制代码
a {
  text-decoration: none;
}

首行缩进

python 复制代码
p {
  text-indent: 32px;
}
4.背景属性
python 复制代码
*背景颜色*/
background-color: red;
/*背景图片*/
background-image: url('1.jpg');
/*
 背景重复
 repeat(默认):背景图片平铺排满整个网页
 repeat-x:背景图片只在水平方向上平铺
 repeat-y:背景图片只在垂直方向上平铺
 no-repeat:背景图片不平铺
*/
background-repeat: no-repeat;   # 不重复
/*背景位置*/
background-position: left top;
/*background-position: 200px 200px;*/
当多个属性名有相同的前缀 那么可以简写一次性完成
python 复制代码
div {
    width: 800px;  /*div标签设置宽高*/
    height: 800px;
    background-color: red;
    background-image: url("https://img2.baidu.com/it/u=167083063,1652780278&fm=253&fmt=auto&app=138&f=JPEG?w=369&h=472");  
	/*可以索引到图片网页地址*/
    /*background-image: url("666.png");  也可以是本地地址*/
    background-repeat: no-repeat;   /*不重复*/
    /*background-repeat: repeat-x;  只有横向重复*/
    /*background-repeat: repeat-y;  只有纵向重复*/
    background-position: center center;   /*调整图片居中到div标签中*/
    /*background:  url("666.png") blue no-repeat center center;   所有属性都可以用这一句完成*/
}

1.多个属性名前缀相同那么可以简写

python 复制代码
background:orange url('url') no-repeat center center; 
一个个编写即可 不写就默认

2.如何实时修改图片位置

边框

边框有三个属性,分别是边框宽度、边框颜色和边框样式

1.边框宽度
属性 描述
border-width 边框的宽度
border-style 边框的样式
border-color 边框的颜色
python 复制代码
规范写法
border-left-width: 10px;
border-left-style: dashed;
border-left-color: orange;

简写
border-left: 10px inset blueviolet;
2.边框样式

边框的风格样式

描述
none 无边框
dotted 点状边框
dashed 虚线边框
solid 实线边框
inset 边框内嵌入一个立体边框
outset 边框外嵌入一个立体边框
hidden 隐藏边框
doble 双实线
groove 边框带有立体感的沟槽
ridge
边框圆角

border-radius:这个属性可以实现圆角边框的效果。

python 复制代码
border-radius:50%

display属性

用于控制HTML元素的显示效果

注意:行内标签是无法设置长宽 只有块儿级可以设置

意义
display:"none" HTML文档中元素存在,但是在浏览器中不显示。一般用于配合JavaScript代码使用。
display:"block" 默认占满整个页面宽度,如果设置了指定宽度,则会用margin填充剩下的部分。
display:"inline" 按行内元素显示,此时再设置元素的width、height、margin-top、margin-bottom和float属性都不会有什么影响。
display:"inline-block" 使元素同时具有行内元素和块级元素的特点。
python 复制代码
1.display:none  
	可以隐藏某个元素,且隐藏的元素不会占用任何空间。也就是说,该元素不但被隐藏了,而且该元素原本占用的空间也会从页面布局中消失。
2.visibility: hidden  
	可以隐藏某个元素,但隐藏的元素仍需占用与未隐藏之前一样的空间。也就是说,该元素虽然被隐藏了,但仍然会影响布局。
	
"""
行内标签不能设置长宽的,只有块级标签可以
快捷键编写:ul>li*3>a.c1{添加文本}emment
"""

下列是关于display的隐藏、块级变行内、行内变块级

盒子模型

margin: 用于控制元素与元素之间的距离;margin的最基本用途就是控制元素周围空间的间隔,从视觉角度上达到相互隔开的目的。

padding: 用于控制内容与边框之间的距离;

Border(边框): 围绕在内边距和内容外的边框。

Content(内容): 盒子的内容,显示文本和图像。

以快递盒举例

python 复制代码
1.快递包里面的实际物体			 content(内容)
2.物体与内部盒子墙的距离	       padding(内边距、内填充)
3.快递盒的厚度				   border(边框)
4.快递盒之间的距离				  margin(外边距)

1.padding 内边距
padding   内部数据与边框的距离
padding: 20px; 上下左右都一致
padding: 20px 40px;  上下   左右
padding: 10px 20px 30px;上  左右  下
padding: 10px 20px 30px 40px;上 右 下 左

2.margin 外边距
margin    标签与标签之间的距离
margin:0px;  # 上下左右都一致
margin:10px 10px;  # 第一个控制上下 第二个控制左右
margin:20px 10px 20px;  # 上 左右 下
margin:10px 2px 3px 5px;  # 上 右 下 左

针对标签的嵌套 水平方向可以居中
margin: 0 auto;

注意:如果是套着,可以用margin也可以用padding,标签与标签之间可以用margin去调水平方向 。margin: 0 auto ;

浮动float

1.定义

在 CSS 中,任何元素都可以浮动,浮动就是用来做页面布局的。浮动元素会生成一个块级框,而不论它本身是何种元素。

2.浮点的作用

只要是设计到页面的布局一般都是用浮动来提升规划好

3.关于浮动的特点

浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。

由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样。

4.float样式
python 复制代码
float:left;

三种取值

描述
left 向左浮动
right 向右浮动
none 默认值,不浮动
5.浮动现象
python 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
  <style>
    .c1 {
      border: 5px solid black;}

    .c2 {
      height: 50px;
      width: 60px;
      background-color: orange; /*背景颜色*/
      float: right; /*往右移动*/}

    .c3 {
      height: 80px;
      width: 40px;
      background-color: chocolate;
      float: left;  /*往左浮动*/}

    /*解决塌陷方法一*/
    .c4 {
      clear: left;
      border: 2px solid darkgray;
    }
    /*解决塌陷方法二*/
    .clearfix:after{
      content: '';  /*空的内容独占一行*/
      display: block; /*左右两侧都不能有浮动*/
      clear: both;
    }

    .c4 {
      background-color: blueviolet;
      height: 100px;
      width: 80px;
      float: left;
    }
  </style>
</head>
<body>
  <div class="c1 clearfix" >
      <div class="c2"></div>
      <div class="c3"></div>
      <div class="c4">你真可爱</div>
  </div>

</body>
</html>


6.浮动带来的影响

​ 浮动的元素是脱离正常文档流的,会造成父标签塌陷.

如何解决浮动的影响? 引入了clear属性

7.clear属性规定了元素的哪一侧不允许其他浮动元素
描述
left 在左侧不允许浮动元素
right 在右侧不允许浮动元素
both 在左右两侧不允许浮动元素
none 默认值,允许浮动元素出现在两侧
inherit 规定应该从父元素继承clear属性的值

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

8.清除浮动有三种方式

1.固定高度 (自己加一个div设置高度 )

python 复制代码
#d4 {
	/*高度*/
	height: 100px;
}

自己设置的高度要比上面悬浮的高度要大

2.伪元素清除法

python 复制代码
.clearfix:after {
  /*空的内容独占一行*/
  content: "";
  display: block;
  /*左右两侧都不能有浮动*/
  clear: both;
}
之后只要标签出现了塌陷的问题就给该塌陷的div标签加一个class="clearfix"属性即可

3.overflow:hidden 利用clear属性

python 复制代码
.c4 {
clear: left;  # 左侧(地面 天空)不允许出现浮动的元素
border: 2px solid darkgray;
}

溢出overflow

overflow溢出属性

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

overflow(水平和垂直均设置)

overflow-x(设置水平方向)

overflow-y(设置垂直方向)

圆形头像示例

python 复制代码
<!DOCTYPE HTML>
<html>
<head>
  <meta charset="UTF-8">
  <meta http-equiv="x-ua-compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>圆形的头像示例</title>
  <style>
    * {
      margin: 0;
      padding: 0;
      background-color: #eeeeee;
    }
    .header-img {
      width: 150px;
      height: 150px;
      border: 3px solid white;
      border-radius: 50%;
      overflow: hidden;
    }
    .header-img>img {
      width: 100%;
    }
  </style>
</head>
<body>

<div class="header-img">
  <img src="https://pic.cnblogs.com/avatar/1342004/20180304191536.png" alt="">
</div>

</body>
</html>

定位opsition

1.static

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

2.relative(相对定位)

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

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

3.absolute(绝对定位)

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

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

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

python 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>绝对定位</title>
    <style>
        .c1 {
            height: 100px;
            width: 100px;
            background-color: red;
            float: left;
        }
        .c2 {
            height: 50px;
            width: 50px;
            background-color: #ff6700;
            float: right;
            margin-right: 400px;
            position: relative;

        }
        .c3 {
            height: 200px;
            width: 200px;
            background-color: green;
            position: absolute;
            top: 50px;
        }
    </style>
</head>
<body>
<div class="c1"></div>
<div class="c2">
    <div class="c3"></div>
</div>

</body>
</html>
fixed(固定)

fixed:对象脱离正常文档流,使用top,right,bottom,left等属性以窗口为参考点进行定位,当出现滚动条时,对象不会随着滚动。而其层叠通过z-index属性 定义。 注意点: 一个元素若设置了 position:absolute | fixed; 则该元素就不能设置float。这 是一个常识性的知识点,因为这是两个不同的流,一个是浮动流,另一个是"定位流"。但是 relative 却可以。因为它原本所占的空间仍然占据文档流。

在理论上,被设置为fixed的元素会被定位于浏览器窗口的一个指定坐标,不论窗口是否滚动,它都会固定在这个位置。

示例代码:

python 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="x-ua-compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>返回顶部示例</title>
  <style>
    * {
      margin: 0;
    }

    .d1 {
      height: 1000px;
      background-color: #eeee;
    }

    .scrollTop {
      background-color: darkgrey;
      padding: 10px;
      text-align: center;
      position: fixed;
      right: 10px;
      bottom: 20px;
    }
  </style>
</head>
<body>
<div class="d1">111</div>
<div class="scrollTop">返回顶部</div>
</body>
</html>
是否脱离文档流

相对定位

python 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <style>
        .c1 {
             height: 50px;
            width: 100px;
            background-color: dodgerblue;
        }
        .c2 {
             height: 100px;
            width: 50px;
            background-color: orange;
            position: relative;
            left: 100px;
        }
    </style>
</head>
<body>
<div class="c1"></div>
<div class="c2"></div>
<div style="height: 100px;width: 200px;background-color: black"></div>
</body>
</html>

绝对定位

python 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <style>
        .c1 {
            height: 50px;
            width: 100px;
            background-color: red;
            position: relative;
        }
        .c2 {
            height: 50px;
            width: 200px;
            background-color: green;
            position: absolute;
            left: 50px;
        }
    </style>
</head>
<body>
<div class="c1">购物车
    <div class="c2">空空如也~</div>
    <div style="height: 50px;width: 100px;background-color: deeppink"></div>
</div>

</body>
</html>

绝对定位

python 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<div class="c1" style="height: 50px;width: 500px;background-color: black"></div>
<div class="c2" style="height: 50px;width: 100px;background-color: deeppink;position: fixed;right: 10px;bottom: 20px"></div>
<div class="c3" style="height: 10px;width: 100px;background-color: green"></div>

</body>
</html>

上述例子可知:

脱离文档流:

绝对定位

固定定位

不脱离文档流:

相对定位

z-index

python 复制代码
#i2 {
  z-index: 999;
}

设置对象的层叠顺序。

  1. z-index 值表示谁压着谁,数值大的压盖住数值小的,
  2. 只有定位了的元素,才能有z-index,也就是说,不管相对定位,绝对定位,固定定位,都可以使用z-index,而浮动元素不能使用z-index
  3. z-index值没有单位,就是一个正整数,默认的z-index值为0如果大家都没有z-index值,或者z-index值一样,那么谁写在HTML后面,谁在上面压着别人,定位了元素,永远压住没有定位的元素。
  4. 从父现象:父亲怂了,儿子再牛逼也没用
python 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="x-ua-compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>自定义模态框</title>
  <style>
    .cover {
      background-color: rgba(0,0,0,0.65);
      position: fixed;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      z-index: 998;
    }

    .modal {
      background-color: white;
      position: fixed;
      width: 600px;
      height: 400px;
      left: 50%;
      top: 50%;
      margin: -200px 0 0 -300px;
      z-index: 1000;
    }
  </style>
</head>
<body>

<div class="cover"></div>
<div class="modal"></div>
</body>
</html>
opacity

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

综合案例

导航栏菜单

python 复制代码
<!DOCTYPE HTML>
<html>
<head>
  <meta charset="UTF-8">
  <meta http-equiv="x-ua-compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>li标签的float示例</title>
  <style>
    /*清除浏览器默认外边距和内填充*/
    * {
      margin: 0;
      padding: 0;
    }
    a {
      text-decoration: none; /*去除a标签默认的下划线*/
    }

    .nav {
      background-color: black;
      height: 40px;
      width: 100%;
      position: fixed;
      top: 0;
    }

    ul {
      list-style-type: none; /*删除列表默认的圆点样式*/
      margin: 0; /*删除列表默认的外边距*/
      padding: 0; /*删除列表默认的内填充*/
    }
    /*li元素向左浮动*/
    li {
      float: left;
    }

    li > a {
      display: block; /*让链接显示为块级标签*/
      padding: 0 15px; /*设置左右各15像素的填充*/
      color: #b0b0b0; /*设置字体颜色*/
      line-height: 40px; /*设置行高*/
    }
    /*鼠标移上去颜色变白*/
    li > a:hover {
      color: #fff;
    }

    /*清除浮动 解决父级塌陷问题*/
    .clearfix:after {
      content: "";
      display: block;
      clear: both;
    }
  </style>
</head>
<body>
<!-- 顶部导航栏 开始 -->
<div class="nav">
  <ul class="clearfix">
    <li><a href="">玉米商城</a></li>
    <li><a href="">MIUI</a></li>
    <li><a href="">ioT</a></li>
    <li><a href="">云服务</a></li>
    <li><a href="">水滴</a></li>
    <li><a href="">金融</a></li>
    <li><a href="">优品</a></li>
  </ul>
</div>
<!-- 顶部导航栏 结束 -->
</body>
</html>
相关推荐
前端小小王几秒前
React Hooks
前端·javascript·react.js
迷途小码农零零发10 分钟前
react中使用ResizeObserver来观察元素的size变化
前端·javascript·react.js
娃哈哈哈哈呀32 分钟前
vue中的css深度选择器v-deep 配合!important
前端·css·vue.js
旭东怪1 小时前
EasyPoi 使用$fe:模板语法生成Word动态行
java·前端·word
ekskef_sef3 小时前
32岁前端干了8年,是继续做前端开发,还是转其它工作
前端
sunshine6413 小时前
【CSS】实现tag选中对钩样式
前端·css·css3
真滴book理喻3 小时前
Vue(四)
前端·javascript·vue.js
蜜獾云3 小时前
npm淘宝镜像
前端·npm·node.js
dz88i83 小时前
修改npm镜像源
前端·npm·node.js
Jiaberrr3 小时前
解锁 GitBook 的奥秘:从入门到精通之旅
前端·gitbook