首页 > 其他分享 >前端CSS学习(二)

前端CSS学习(二)

时间:2022-12-02 18:56:18浏览次数:41  
标签:标签 前端 height 学习 width margin 边框 border CSS

目录

边框

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        div {
            border-left-width: 5px;       /*边框大小5px*/
            border-left-style: dotted;   /*左边添加点点点的边框*/
            border-left-color: #f584b7;     /*边框颜色*/
        }
可以简写为:
	border:10px solid orange  /*上下左右添加边框*/
    </style>
</head>
<body>
    <div>111</div>
描述
none 无边框。
dotted 点状虚线边框。
dashed 矩形虚线边框。
solid 实线边框。

画圆

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        div {
            width: 400px;
            height: 400px;
            border: 5px solid rebeccapurple;
            border-radius: 50%;		# 将边框调整为圆形

        }
    </style>
</head>
<body>
    <div>111</div>
</body>

小例子

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>滚动背景图示例</title>
    <style>
        * {
            margin: 0;
        }
        .box {
            width: 100%;
            height: 500px;
            background: url("http://gss0.baidu.com/94o3dSag_xI4khGko9WTAnF6hhy/zhidao/wh%3D450%2C600/sign=e9952f4a6f09c93d07a706f3aa0dd4ea/4a36acaf2edda3cc5c5bdd6409e93901213f9232.jpg")  center center;
            background-attachment: fixed;
        }
        .d1 {
            height: 500px;
            background-color: tomato;
        }
        .d2 {
            height: 500px;
            background-color: steelblue;
        }
        .d3 {
            height: 500px;
            background-color: mediumorchid;
        }
    </style>
</head>
<body>
    <div class="d1"></div>
    <div class="box"></div>
    <div class="d2"></div>
    <div class="d3"></div>
</body>
</html>

使用背景图片的一个常见案例就是很多网站会把很多小图标放在一张图片上,然后根据位置去显示图片。减少频繁的图片请求

display

"""
行内标签是无法设置长款,只有块儿级可以设置
"""
display:none 彻彻底底的隐藏标签(页面上不会显示,也不会保留标签的位置)
代码展示:
    <body>
    <form action="">username:
        <p>
        <input type="text">
        <input type="text" name="username" value="jason" style="display: none">   # 这条会被彻底的隐藏
        </p>
        <input type="submit">


    </form>
</body>
visibility:hidden	隐藏的不彻底

display属性

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

意义
display:"none" HTML文档中元素存在,但是在浏览器中不显示。一般用于配合JavaScript代码使用。
display:"block" 默认占满整个页面宽度,如果设置了指定宽度,则会用margin填充剩下的部分。
display:"inline" 按行内元素显示,此时再设置元素的width、height、margin-top、margin-bottom和float属性都不会有什么影响。
display:"inline-block" 使元素同时具有行内元素和块级元素的特点。

盒子模型

我们可以将标签看成是一个盒子(快递盒)

1.快起包里面的实际物体		content(内容)
2.物理与内部盒子墙的距离		padding(内边距/内填充)
3.快递盒的厚度				border(边框)
4.快递盒之前的距离			  margin(外边距)

/*    !*padding: 20px; 上下左右*!*/
/*    !*padding: 20px 40px;  上下   左右*!*/
/*    !*padding: 10px 20px 30px;上  左右  下*!*/
/*    !*padding: 10px 20px 30px 40px;上 右 下 左*!*/
margin与padding用法一致

针对标签的嵌套 水平方向可以居中
margin: 0 auto;
  • margin: 用于控制元素与元素之间的距离;margin的最基本用途就是控制元素周围空间的间隔,从视觉角度上达到相互隔开的目的。
  • padding: 用于控制内容与边框之间的距离;
  • Border(边框): 围绕在内边距和内容外的边框。
  • Content(内容): 盒子的内容,显示文本和图像。

看图吧:

image

浮动

浮动就是用来做页面布局的,将子标签浮动与父标签之上,这样就可以将块儿级标签变成行内标签,直接横向在父标签内展示

浮动的现象
	float:left\right
浮动带来的影响
	浮动的元素是脱离正常文档流的,会造成父标签坍塌

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .c3 {
            border: 5px solid darkgrey;
        }
        .c1 {
            width: 200px;
            height: 200px;
            border: #f584b7 5px solid;
            float: left;   # 向左浮动
        }
        .c2 {
            width: 200px;
            height: 200px;
            border: #f584b7 5px solid;
            float: right;   # 向右浮动
        }
    </style>
</head>
<body>
    <div class="c3">   # 父标签会坍塌
        <div class="c1"></div>
        <div class="c2"></div>
    </div>
</body>

解决浮动带来的影响终极方法
	先提前写好样式类
.clearfix:after {
    content:'':
    display:block;
    clear:both;
}
谁塌陷了,就给谁添加clearfix样式类就可以了

ps:浏览器会优先展示文本内容(如果被挡住)
代码展示:
<head>
    <meta charset="UTF-8">
    <title>Title</title>0
    <style>
        .c3 {   # 父标签
            border: 5px solid darkgrey;
        }
        .c1 {   # 向左浮动的子标签
            width: 200px;
            height: 200px;
            border: #f584b7 5px solid;
            float: left;
        }
        .c2 {   # 向右浮动的子标签
            width: 200px;
            height: 200px;
            border: #f584b7 5px solid;
            float: right;
        }
        .clearfix:after {    # 解决浮动问题
            content: '';
            display:block;
            clear: both;
        }
    </style>
</head>
<body>
    <div class="c3 clearfix">这里应该被挡住,因为向右浮动,但是浏览器优先展示了    # 这段话浏览器会自动优先展示
        <div class="c1"></div>
        <div class="c2"></div>
    </div>
</body>

溢出

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        div {
            height: 150px;
            width: 150px;
            border: #f584b7 5px solid;
            border-radius: 50%;
            overflow: hidden;   # 剪切图片
        }
        div img {
            max-width: 100%;    /*图片100%填充*/
        }
    </style>
</head>
<body>
    <div>
        <img src="栗子喜欢的.jpg" alt="">
    </div>
</body>

overflow溢出属性

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

圆形头像示例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        * {
            margin: 0;
            padding: 0;
            background-color: #eeeeee;
        }
        .header-img {
            width: 150px;		# 设置宽
            height: 150px;		# 设置高
            border: #f584b7 3px solid;  # 设置边框
            overflow: hidden;   # 溢出属性
            border-radius: 50%;  # 圆形
        }
        .header-img>img {
            width: 100%;   # 图片填充100%
        }
    </style>
</head>
<body>
    <div class="header-img">
        <img src="栗子喜欢的.jpg" alt="">
    </div>
</body>
</html>

定位

标签在默认情况下都是无法通过定位的参数来移动
针对定位有四种状态;
	1.static静态(标签默认的状态 无法定位移动)
 	2.reletive相对定位(基于标签原来的位置)
 	3.absolute绝对定位(基于某个定位过的父标签做定位)
	4.fixed固定定位(基于浏览器窗口固定不动)
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .c1 {
            background-color: red;
             height: 100px;
            width: 100px;
            position: relative;   # 相对定位
        }
        .c2 {
            background-color: greenyellow;
            height: 100px;
            width: 200px;
            position: absolute;   # 绝对定位
            top: 100px;
            left: 100px;
        }

    </style>
</head>
<body>
    <div class="c1">
      <div class="c2"></div>
    </div>
</body>
-------------------------------------------------------------------
		.c1 {
            border: 5px solid black;
            height: 100px;
            width: 100px;
            position: fixed;   # 固定
            right: 100px;
            bottom: 200px;
        }

image

fixed

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

代码示例:

<!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>

返回顶部按钮样式示例

z-index

设置对象的层叠顺序
	1.z-index值表示谁压着谁,数值大的压盖住数值小的
 	2.只有定位了的元素,才能有z-index,也就是说,不管相对定位,固定定位,都可以使用z-index,而浮动元素不能使用z-index
   	3.z-index值没有单位,就是一个正整数,默认的z-index值为0如果大姐没有z-index值,或者z-index值一样,那么谁写在HTML后面,谁在上面压着别人,定位了元素,永远压住没有定位的元素
    4.从父现象:父亲怂了,儿子再牛逼也没用
body {
            margin: 0;
        }
.cover {
            background-color: rgba(127,127,127,0.5);
            position: fixed;
            left: 0;
            bottom: 0;
            right: 0;
            top: 0;
            z-index: 100;
        }
.modal {
            height: 200px;
            width: 400px;
            background-color: white;
            z-index: 101;
            position: fixed;
            left: 50%;
            top: 50%;
            margin-left: -200px;
            margin-top: -100px;
        }

顶部导航栏代码展示

<!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>

顶部导航菜单示例

简易博客页面搭建

1.分析页面结构
	利用布局标签div和span搭建架子
2.先编写网页骨架
	HTML
3.再编写CSS
4.最后编写JS

标签:标签,前端,height,学习,width,margin,边框,border,CSS
From: https://www.cnblogs.com/zhanghong1229/p/16945373.html

相关文章

  • 前端 css
    目录今日内容概要今日内容详细边框display盒子模型浮动溢出定位z-index简易博客页面搭建今日内容概要边框盒子模型浮动定位补充说明简易博客页面搭建今日内容详......
  • css基础操作2
    今日内容总结边框/*border-left-width:边框大小(px);*//*border-left-style:边框格式;*//*border-left-color:颜色选择*/简写:border-left:边框大小边框格式......
  • Css3 将网页变成黑白_Css3 网页黑白滤镜filter
    一、Css3将网页变成黑白_Css3网页黑白滤镜filter重点代码:html,body{-webkit-filter:grayscale(100%);-moz-filter:gr......
  • 分享45款高质量的免费(X)HTML/CSS模板
    ​​GreenPlanet​​(​​演示​​​|​​下载​​)​​​​​​CreativeStudio​​(​​演示​​​|​​下载​​)​​​​​​RestaurantWebsite​​(​​演示......
  • Spring学习
    Spring学习1.Spring1.1简介Spring:春天—>给软件行业带来了春天2002年,RodJahnson首次推出了Spring框架雏形interface21框架。2004年3月24日,Spring框架以i......
  • 数学基础学习目录
    文章目录​​线性代数​​​​概率论​​​​高数​​2021-10-24!祝大家节日快乐,也希望自己的数学基础开启新的篇章。线性代数​​矩阵的迹相关性质​​正定矩阵和半正定矩阵......
  • 基于SpringBoot分层2开发web应用学习笔记之控制器的理解以及常见注解
    在SpringMVC中,控制器负责处理由DIspatchServlet接收并分发过来的请求。它把用户请求的数据通过业务处理层封装成一个Model,然后把该model返回给对应的View进行展示。Contro......
  • 对深度学习中全连接层、卷积层的一些理解
    1、全连接层卷积层和全连接层构成了构成了特征提取器,而全连接层构成了分类器,全连接层将特征提取得到的特征图映射成一维特征向量,该特征向量包含所有特征信息,可以转化为分......
  • CSS @container layout All In One
    CSS@containerlayoutAllInOnearticle{contain:content;}article{contain:layout;}article{contain:paint;}article{contain:size;}......
  • PHY9. 学习凝聚态场论
    这个傻子翘了几个星期的量子多体课现在赶不上进度了……得在期末前学完有限温度量子场论以及超导相关的理论。以及凝聚态场论是个大坑,里面有许多重要的话题,包括固体理论,......