CSS3【垂直对齐方式、光标类型、 边框圆角 、overflow溢出部分显示效果 、元素本身隐藏】

news2024/11/24 0:04:49

文章目录

  • 二、装饰
    • 2.1 认识基线(了解)
    • 2.2 文字对齐问题
    • 2.3 垂直对齐方式
      • 2.4 小结
    • 2.5(拓展)项目中 vertical-align 可以解决的问题
    • 2.6 光标类型
    • 2.7 边框圆角
    • 2.8 边框圆角的常见应用
    • 2.9 小结
    • 2.10 溢出部分显示效果
    • 2.11 小结
    • 2.12 元素本身隐藏
    • 2.13(案例)导航二维码显示隐藏切换案例
    • 2.14(拓展)元素整体透明度
    • 2.15(拓展)边框合并


二、装饰

学习路径:

    1. 垂直对齐方式
    1. 光标类型
    1. 边框圆角
    1. overflow溢出部分显示效果
    1. 元素本身隐藏

2.1 认识基线(了解)

  • ➢ 基线:浏览器文字类型元素排版中存在用于对齐的基线(baseline)

浏览器遇到行内和行内块标签当做文字处理, 默认文字是按基线对象

2.2 文字对齐问题

  • ➢ 场景:解决行内/行内块元素垂直对齐问题
  • ➢ 问题:当图片和文字在一行中显示时,其实底部不是对齐的在这里插入图片描述

2.3 垂直对齐方式

  • ➢ 属性名:vertical-align
  • ➢ 属性值:在这里插入图片描述
  <style>
    /* 浏览器遇到行内和行内块标签当做文字处理, 默认文字是按基线对象 */
    input {
      height: 50px;
      box-sizing: border-box;

      vertical-align: middle;
    }

  </style>
</head>
<body>
  <input type="text"><input type="button" value="搜索">
</body>

在这里插入图片描述

  <style>
   img {
     vertical-align: middle;
   }
  </style>
</head>
<body>
  <img src="../images/1.jpg" alt=""><input type="text">
</body>

在这里插入图片描述

  <style>
    .father {
      width: 400px;
      height: 400px;
      background-color: pink;
    }

    input {
      /* vertical-align: middle; */
      vertical-align: top;
    }

  </style>
</head>
<body>
  <div class="father">
    <input type="text">
  </div>
</body>

在这里插入图片描述

  <style>
    .father {
      width: 400px;
      background-color: pink;
    }

    img {
      /* 浏览器把行内和行内块标签当做文字处理,默认基线对齐 */
      /* vertical-align: middle; */
      display: block;
    }

  </style>
</head>
<body>
  <div class="father">
    <img src="../images/1.jpg" alt="">
  </div>
</body>

在这里插入图片描述

  <style>
    .father {
      width: 600px;
      height: 600px;
      background-color: pink;
      line-height: 600px;
      text-align: center;
    }

    img {
      vertical-align: middle;
    }
  </style>
</head>
<body>
  <div class="father">
    <img src="../images/1.jpg" alt="">
  </div>
</body>

在这里插入图片描述

2.4 小结

  • ➢ 设置行内/行内块元素垂直对齐方式的属性是什么?
    • • vertical-align
  • ➢ 垂直对齐方式的常见取值有哪些?在这里插入图片描述

2.5(拓展)项目中 vertical-align 可以解决的问题

  1. 文本框和表单按钮无法对齐问题
  2. input和img无法对齐问题
  3. div中的文本框,文本框无法贴顶问题
  4. div不设高度由img标签撑开,此时img标签下面会存在额外间隙问题
  5. 使用line-height让img标签垂直居中问题
  • ➢ 注意点:
    • • 学习浮动之后,不推荐使用行内块元素让div一行中显示,因为可能会出现垂直对齐问题
    • • 推荐优先使用浮动完成效果

2.6 光标类型

  • ➢ 场景:设置鼠标光标在元素上时显示的样式
  • ➢ 属性名:cursor
  • ➢ 常见属性值:在这里插入图片描述

2.7 边框圆角

  • ➢ 场景:让盒子四个角变得圆润,增加页面细节,提升用户体验

  • ➢ 属性名:border-radius

  • ➢ 常见取值:数字+px 、百分比

  • ➢ 原理:在这里插入图片描述

  • ➢ 赋值规则:从左上角开始赋值,然后顺时针赋值,没有赋值的看对角!

2.8 边框圆角的常见应用

  • ➢ 画一个正圆:
      1. 盒子必须是正方形
      1. 设置边框圆角为盒子宽高的一半 → border-radius:50%
  • ➢ 胶囊按钮:
      1. 盒子要求是长方形
      1. 设置 → border-radius:盒子高度的一半在这里插入图片描述
        .one {
            width: 200px;
            height: 200px;
            background-color: pink;

            /* border-radius: 100px; */
            /* 50% : 取盒子尺寸的一半 */
            border-radius: 50%;
        }

        /* 胶囊状: 长方形, border-radius取值是高度的一半 */
        .two {
            width: 400px;
            height: 200px;
            background-color: skyblue;

            border-radius: 100px;
        }

2.9 小结

  • ➢ 如果需要在网页中用盒子展示出一个正圆,应该如何完成?
      1. 盒子必须是正方形
      1. 设置 → border-radius:50%
  • ➢ 如果需要在网页中用盒子展示出一个胶囊按钮,应该如何完成?
      1. 盒子要求是长方形
      1. 设置 → border-radius:盒子高度的一半

2.10 溢出部分显示效果

  • ➢ 溢出部分:指的是盒子 内容部分 所超出盒子范围的区域

  • ➢ 场景:控制内容溢出部分的显示效果,如:显示、隐藏、滚动条……在这里插入图片描述

  • ➢ 属性名:overflow

  • ➢ 常见属性值:在这里插入图片描述

2.11 小结

  • ➢ 设置溢出部分显示效果的属性名是什么?
    • • 属性名:overflow
  • ➢ 设置溢出部分显示效果的常见属性值有哪些?在这里插入图片描述

2.12 元素本身隐藏

  • ➢ 场景:让某元素本身在屏幕中不可见。如:鼠标:hover之后元素隐藏在这里插入图片描述

  • ➢ 常见属性:

      1. visibility:hidden
      1. display:none
  • ➢ 区别:

      1. visibility:hidden 隐藏元素本身,并且在网页中 占位置
      1. display:none 隐藏元素本身,并且在网页中 不占位置
  • ➢ 注意点:

    • • 开发中经常会通过 display属性完成元素的显示隐藏切换
    • • display:none;(隐藏)、 display:block;(显示)

2.13(案例)导航二维码显示隐藏切换案例

  • ➢ 需求:通过代码完成:默认son元素隐藏,当鼠标移入father后让son显示的效果在这里插入图片描述
<!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.0">
  <title>Document</title>
  <style>
    * {
      margin: 0;
      padding: 0;
    }

    /* 因为有通栏:占满一行的边框,所以需要有一个通栏:占满一行的盒子 */
    .nav {
      height: 40px;
      border-bottom: 1px solid #ccc;
    }

    /* 因为ul中所有的内容都是在网页的宽度固定并且水平居中的盒子内部,所以设置ul为宽度固定并且水平居中的效果(后面项目中所用到的版心) */
    ul {
      list-style: none;
      width: 1200px;
      margin: 0 auto;
    }

    ul li {
      float: left;
      width: 20%;
      height: 40px;
      border-right: 1px solid #ccc;
      /* 自动内减 */
      box-sizing: border-box;
      text-align: center;
      line-height: 40px;
    }

    ul .last {
     border-right: none;
    }

    ul li a {
      /* a标签默认是行内元素,宽高由内容撑开,并且无法设置宽高,此时默认情况用户只能点击文字区域才能调整 */
      /* 如果把a标签转换成块级元素,此时可以设置宽高,会让a标签范围更大,用户可以点击调整的区域也越大 */
      display: block;
      /* 宽度不设置块元素会默认占满一行 */
      height: 40px;
      text-decoration: none;
      color: #000;
    }

    ul li .app {
      position: relative;
    }

    .code {
      position: absolute;
      left: 50%;
      top: 41px;

      display: none;

      transform: translate(-50%);


    }

    /* 鼠标悬停a 显示二维码图片 */
    .nav li a:hover img {
        display: block;
    }
  </style>
</head>
<body>
  <!-- 导航 -->
  <div class="nav">
    <ul>
      <li><a href="#">我要投资</a></li>
      <li><a href="#">平台介绍</a></li>
      <li><a href="#">新手专区</a></li>
      <!-- 因为用户鼠标放在二维码图片上也能跳转,所以证明img也是在a的范围内,因此把img写在a标签的内部 -->
      <li><a href="#" class="app">手机微金所 <img src="./images/code.jpg" alt="" class="code"> </a></li>
      <li class="last"><a href="#">个人中心</a></li>
    </ul>
  </div>

</body>
</html>

2.14(拓展)元素整体透明度

  • ➢ 需求:通过代码,在刚刚完成的 导航二维码居中定位案例 基础上,完成如效果图中元素显示隐藏切换效果
    二、装饰
    (案例)导航二维码显示隐藏切换案例
  • ➢ 场景:让某元素整体(包括内容)一起变透明
  • ➢ 属性名:opacity
  • ➢ 属性值:0~1之间的数字
    • • 1:表示完全不透明
    • • 0:表示完全透明
  • ➢ 注意点:
    • • opacity会让元素整体透明,包括里面的内容,如:文字、子元素等……

2.15(拓展)边框合并

  • ➢ 场景:让相邻表格边框进行合并,得到细线边框效果
  • ➢ 代码:border-collapse:collapse;在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/116811.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

智慧医院信息化建设解决方案

【版权声明】本资料来源网络&#xff0c;仅用于行业知识分享&#xff0c;供个人学习参考&#xff0c;请勿商用。 【侵删致歉】如有侵权请联系小编&#xff0c;将在收到信息后第一时间进行删除&#xff01; 完整资料领取见文末&#xff0c;部分资料内容&#xff1a; 远程会诊 云…

Java的设计模式

本文档是学习后的个人总结&#xff0c;用于备查&#xff0c;如果有冒犯&#xff0c;请联系我删除。 参考文档&#xff1a; 1、简单工厂模式&#xff0c;工厂方法模式&#xff0c;抽象工厂模式 2、Java中常用的设计模式 上面这个链接写的特别清楚&#xff0c;也有代码示例&#…

记一次云服务器EIP出现异常对外攻击的问题

大家好&#xff0c;我是早九晚十二&#xff0c;目前是做运维相关的工作。写博客是为了积累&#xff0c;希望大家一起进步&#xff01; 我的主页&#xff1a;早九晚十二 首先祝大家圣诞快乐&#xff0c;Merry Christma&#xff01; 中毒了 今天云主机运维人员告诉我说&#x…

【Flask框架】——26 ORM关联关系

1、表的外键关联 使用SQLAlchemy创建外键非常简单。在从表中增加一个字段&#xff0c;指定这个字段外键的是哪个表的哪个字段就可以了。从表中外键的字段&#xff0c;必须和主表的主键字段类型保持一致。 这种关联只关注数据表之间的外键关联&#xff0c;不考虑Python对象之间…

ORB-SLAM3代码和算法学习—双目和单目初始化

0总述 ORB-SLAM3算法中视觉的初始化依旧放在tracking线程中&#xff0c;因此在tracking中没有为imu模式设置单独的初始化函数&#xff0c;而IMU的初始化是在localMapping中实现的。 很有用的参考链接&#xff1a;https://cloud.tencent.com/developer/article/1761043 1双目…

【高阶数据结构】搜索二叉树

&#x1f308;欢迎来到数据结构专栏~~搜索二叉树 (꒪ꇴ꒪(꒪ꇴ꒪ )&#x1f423;,我是Scort目前状态&#xff1a;大三非科班啃C中&#x1f30d;博客主页&#xff1a;张小姐的猫~江湖背景快上车&#x1f698;&#xff0c;握好方向盘跟我有一起打天下嘞&#xff01;送给自己的一句…

Word控件Spire.Doc 【评论】教程(2):在 C#、VB.NET 中删除和替换 Word 文档中的注释

Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下&#xff0c;轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具&#xff0c;专注于创建、编辑、转…

130页5万字某市档案馆数字档案馆建设方案

【版权声明】本资料来源网络&#xff0c;仅用于行业知识分享&#xff0c;供个人学习参考&#xff0c;请勿商用。【侵删致歉】如有侵权请联系小编&#xff0c;将在收到信息后第一时间进行删除&#xff01; 完整资料领取见文末&#xff0c;部分资料内容&#xff1a; 国家档案局证…

MySQL主从搭建

MySQL主从搭建一 主从配置原理二 搭建步骤&#xff08;基于两个docker容器&#xff09;三 django实现读写分离3.1 配置数据库3.2 models中创建表3.3 数据库迁移3.4 指定要使用的数据库四 Pycharm远程连接服务器进行代码的运行与调试五 Pycharm远程链接docker开发5.1 操作 docke…

SSM图书管理系统(增强版,附源码)

前篇引入&#xff08;新人必看&#xff09;&#xff1a;SSM图书管理系统&#xff08;原版&#xff09; 之前给大家分享过SSM图书管理系统项目的源码&#xff0c;热度较高&#xff0c;但我也发现功能并不是很全面&#xff0c;所以这次对系统进行了功能增强&#xff0c;以下是系…

新手入门搭建一个spring boot项目

1. 打开Idea,新建一个maven项目&#xff0c;详细情况见下图&#xff0c;&#xff08;idea版本2021.1.2&#xff09; 2.查看新建项目的maven包是否存在&#xff0c; 注意&#xff1a;maven包需要自己去下载&#xff0c;注意要下载与版本对应匹配的包 3.导入spring boot 相关的依…

springboot 连接不上 redis 的三种解决方案!

针对于springboot 连接不上 redis 这种情况&#xff0c;首先&#xff0c;我们最简单直接的方法就是需要确认Redis是否已经正常启动&#xff08;验证方法&#xff1a;如果安装在Linux下的话可以使用ps-ef|grep redis来进行确认是否开启&#xff09; 如果未开启&#xff0c;我们可…

STL-string的接口使用及模拟实现

文章目录string类的介绍string类的常用接口介绍 构造相关 无参构造字符串构造拷贝构造 容量相关的接口 sizereserveresizecapacityemptyclear 数据访问及遍历相关的接口 operator[]begin endrbegin rend 修改数据相关的接口 push_backoperatorinserterasec_strfind npossubs…

Redis搭建主从集群

搭建集群 建集群的第一件事情我们需要一些运行在 集群模式的Redis实例。这意味这集群并不是由一些普通的Redis实例组成的&#xff0c;集群模式需要通过配置启用&#xff0c;开启集群模式后的Redis实例便可以使用集群特有的命令和特性了。 下面是一个最少选项的集群的配置文件…

@Builder注解在子类中使用遇到的问题

场景 在项目开发中&#xff0c;需要基于某个类进行一些字段的拓展&#xff0c;那么自然而然想到的做法是extends该类。而两个类都需要使用Builder进行构造。代码如下&#xff1a; Data Builder AllArgsConstructor NoArgsConstructor public class EmployeeDto {private Stri…

详解 Vue3 中如何使用 Proxy 来实现响应式的技术~

详解 Vue3 中如何使用 Proxy 来实现响应式的技术~写在前面剖析 Vue2 中是如何实现响应式的Vue2 的响应式存在什么问题&#xff1f;Vue3 响应式一、ref 函数二、reactive 函数reactive 响应式原理 - ProxyVue3 中的响应式解决了 Vue2 中存在的问题写在前面 Vue3 中的响应式原理…

C++:STL:常见容器:stack,queue, list

一&#xff1a;stack容器 1.1: stack基本概念 概念&#xff1a;stack是一种先进后出 &#xff08;First in last out FILO&#xff09;的数据结构&#xff0c;它只有一个出口。 栈中&#xff1a; 1&#xff1a;只有栈顶的元素才可以被外界使用&#xff0c;因此栈不允许有遍历…

从FrameDebugger看Unity渲染

从FrameDebugger看Unity渲染(一) Unity如何渲染一个3D2D的游戏画面&#xff0c;今天通过FrameDebugger来看下Unity内置渲染管线的渲染策略, 后续再出一些URP渲染管线相关的文章。 对啦&#xff01;这里有个游戏开发交流小组里面聚集了一帮热爱学习游戏的零基础小白&#xff0c…

MyBatis 实现复杂 Sql 查询

resultMap 结果映射 resultMap 元素是 MyBatis 中最重要最强大的元素&#xff0c;之前所写的 sql 语句&#xff0c;返回值都是简单的基本数据类型或者某一个实体类&#xff0c;比如下面这段 sql 返回的就是最简单的 User 类型。 <select id"getUserById" result…

微信HOOK 协议接口 实战开发篇 3.收发文本消息 附详细步骤

前言&#xff1a;本次文章附带详细的HOOK步骤&#xff0c;感兴趣可以尝试一番 使用了之前文章提到的字符搜索法 接收消息 1.OD打开微信&#xff0c;点击e&#xff0c;进入模块列表 2.双击wechatwin模块进入汇编代码页面 3.右键菜单&#xff0c;选择如图示选项 4.进入字符页…