css样式学习样例之边框

成品效果

在这里插入图片描述

边框固定

.login_box{width: 450px;height: 300px;background-color: aliceblue;border-radius: 3px;position: absolute;left: 50%;top: 50%;transform: translate(-50%,-50%);
}

这段CSS代码定义了一个名为.login_box的类的样式,它主要用于创建一个登录框的视觉效果。下面是对这段CSS代码每个属性的详细解释:

  1. width: 450px;

    • 这个属性设置了.login_box的宽度为450像素。这意味着登录框在水平方向上会占据450像素的空间。
  2. height: 300px;

    • 这个属性设置了.login_box的高度为300像素。这决定了登录框在垂直方向上的大小。
  3. background-color: aliceblue;

    • 这个属性设置了.login_box的背景颜色为aliceblue。Aliceblue是一种淡蓝色调,常用于用户界面设计中,因为它看起来清爽且不过于刺眼。
  4. border-radius: 3px;

    • 通过这个属性,.login_box的边角会被设置为圆角,圆角的半径为3像素。这有助于创建更加柔和、友好的视觉效果,而不是尖锐的直角。
  5. position: absolute;

    • 这个属性将.login_box的定位方式设置为绝对定位。绝对定位的元素会脱离其正常文档流,并根据其最近的已定位(即非static定位)祖先元素进行定位。如果没有这样的祖先元素,它将相对于文档的初始包含块(通常是视口)进行定位。
  6. left: 50%;

    • 这个属性将.login_box的左边距设置为其父元素宽度的50%。由于使用了绝对定位,这会将登录框的左边缘置于其父元素(或视口)的中心点左侧的位置。
  7. top: 50%;

    • 类似地,这个属性将.login_box的上边距设置为其父元素高度的50%。这会将登录框的上边缘置于其父元素(或视口)的中心点上方的位置。
  8. transform: translate(-50%,-50%);

    • 最后,这个属性通过应用一个转换来微调.login_box的位置。translate(-50%,-50%)将元素向左和向上移动其自身宽度和高度的50%。结合前面的left: 50%;top: 50%;,这实际上将登录框的中心点对齐到其父元素(或视口)的中心点,从而实现了完美的居中效果。

总的来说,这段CSS代码创建了一个宽450像素、高300像素、背景色为aliceblue、具有3像素圆角的登录框,并通过绝对定位和转换实现了在视口中的水平和垂直居中。

边框嵌套图片

.avatar_box{height: 130px;width: 130px;border: 1px solid #eee;border-radius: 50%;padding: 10%;box-shadow: 0 0 10px #dddd;position: absolute;left: 50%;transform: translate(-50%,-50%);background-color: #fff;img{width: 100%;height: 100%;border-radius: 50%;background-color: #eee;}}

这段代码定义一个名为.avatar_box的类的样式,该样式通常用于创建一个圆形头像容器。下面是对这段代码中各个属性的详细解释:

  1. height: 130px;width: 130px;: 这两个属性设置了.avatar_box的高度和宽度都为130像素,确保容器是一个正方形。

  2. border: 1px solid #eee;: 为容器设置了一个1像素宽、实线、颜色为#eee(浅灰色)的边框。

  3. border-radius: 50%;: 将容器的边框圆角半径设置为50%,这意味着边框的每一个角都会被完全圆化,从而创建一个圆形容器。

  4. padding: 10%;: 尝试为容器设置内边距为容器宽度的10%。

  5. box-shadow: 0 0 10px #dddd;: 为容器添加了一个阴影效果,阴影在水平和垂直方向上都偏移0像素,模糊半径为10像素,颜色为#dddd(浅灰色)。

  6. position: absolute;: 将容器的定位方式设置为绝对定位。这意呀着.avatar_box将脱离文档流,并根据其最近的已定位(即,position属性不是static)祖先元素进行定位。

  7. left: 50%;transform: translate(-50%,-50%);: 这两个属性一起工作,以确保.avatar_box在其最近的已定位祖先元素的中心位置。left: 50%将容器的左边缘置于其包含块的中心(但由于容器的宽度,它实际上会向右偏移其宽度的一半),而transform: translate(-50%,-50%);则将容器向上和向左移动其自身宽度和高度的50%,从而将其中心与包含块的中心对齐。

  8. background-color: #fff;: 设置容器的背景颜色为白色(#fff)。

总结


<div class="login_container"><div class="login_box"><div class = 'avatar_box'><img src="../assets/img/favicon.ico" alt=""></div></div></div>
<style lang="less" scoped>
.login_container{background-color: #2b6b4b;height: 100%;
}
.login_box{width: 450px;height: 300px;background-color: aliceblue;border-radius: 3px;position: absolute;left: 50%;top: 50%;transform: translate(-50%,-50%);.avatar_box{height: 130px;width: 130px;border: 1px solid #eee;border-radius: 50%;padding: 10%;box-shadow: 0 0 10px #dddd;position: absolute;left: 50%;transform: translate(-50%,-50%);background-color: #fff;img{width: 100%;height: 100%;border-radius: 50%;background-color: #eee;}}
}
</style>

这段代码主要使用了CSS(特别是LESS语言)和HTML元素来构建一个具有特定样式的登录界面。下面是对这段代码中涉及的主要技术点的总结:

  1. LESS(动态样式语言)

    • LESS是一种CSS预处理语言,它扩展了CSS的功能,增加了变量、嵌套规则、混合(mixins)、函数等特性。这使得CSS代码更加模块化、可维护,并允许使用类似于编程语言的特性来编写样式。
    • 在这段代码中,LESS的嵌套规则被用来定义.login_box内部.avatar_box的样式,这简化了CSS的编写,避免了重复的选择器。
  2. CSS样式

    • 背景颜色:使用background-color属性设置元素的背景颜色。
    • 尺寸:通过widthheight属性设置元素的宽度和高度。
    • 边框border属性用于设置元素的边框样式,包括宽度、样式和颜色。
    • 边框圆角border-radius属性用于给元素的边框添加圆角效果。
    • 定位
      • position: absolute;:将元素设置为绝对定位,使其相对于其最近的已定位(非static)祖先元素进行定位。
      • lefttoptransform(包括translate):用于精确地控制绝对定位元素的位置。transform: translate(-50%, -50%);常用于将元素居中于其父元素的中心。
    • 阴影box-shadow属性用于在元素周围添加阴影效果,增强视觉层次感。
  3. CSS作用域

    • scoped属性(尽管它是Vue单文件组件中的一个概念,但在这里提及以强调样式的作用域):在Vue单文件组件中,<style scoped>表示样式只应用于当前组件的根元素及其子元素,防止样式冲突。然而,在纯LESS或CSS文件中,作用域需要通过其他方式实现(如BEM命名法、CSS模块等)。
  4. 图片样式

    • .avatar_box内部,img元素的样式被设置为与.avatar_box相同的宽度和高度,并应用了圆角边框,以确保图片也是圆形的。尽管设置了background-color,但这通常不会对<img>元素生效,因为它会被图片内容覆盖。

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

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

相关文章

人工智能在病理组学虚拟染色中的应用|文献精析·24-07-07

小罗碎碎念 本期文献精析&#xff0c;分享的是一篇关于深度学习在虚拟染色技术中应用于组织学研究的综述。 角色姓名单位&#xff08;中文&#xff09;第一作者Leena Latonen东芬兰大学&#xff08;QS-552&#xff09;生物医学研究所通讯作者Pekka Ruusuvuori图尔库大学&#…

# Sharding-JDBC 从入门到精通(10)- 综合案例(三)查询商品与测试及统计商品和总结

Sharding-JDBC 从入门到精通&#xff08;10&#xff09;- 综合案例&#xff08;三&#xff09;查询商品与测试及统计商品和总结 一、Sharding-JDBC 综合案例-查询商品-dao 1、查询商品&#xff1a;Dao 实现&#xff1a;在 ProductDao 中定义商品查询方法&#xff1a; //查询商…

基于8255的交通灯设计

&#x1f3c6;本文收录于「Bug调优」专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收藏&&…

信号与系统笔记分享

文章目录 一、导论信号分类周期问题能量信号和功率信号系统的线性判断时变&#xff0c;时不变系统因果系统判断记忆性系统判断稳定性系统判断 二、信号时域分析阶跃函数冲激函数取样性质四种特性1 筛选特性2 抽样特性3 展缩特性4 卷积特性卷积作用 冲激偶函数奇函数性质公式推导…

Spring Boot基础篇

快速上手 SpringBoot是由Pivotal团队提高的全新框架&#xff0c;其设计目的是用来简化Spring应用的初始化搭建以及开发过程 入门案例 在Idea创建 创建时要选择Spring Initializr。 Server URL为要连接的网站&#xff0c;默认为官网start.spring.io&#xff08;访问速度慢&…

数字化精益生产系统--IFS财务管理系统

IFS财务管理系统是一款功能丰富、高效且灵活的企业财务管理软件&#xff0c;广泛应用于多个行业和不同规模的企业中。以下是对IFS财务管理系统的功能设计&#xff1a;

SpringBoot测试类注入Bean失败的原因

针对SpringBoot的测试类&#xff0c;2.2版本之前和之后是不一样的。 2.2版本之后 导包pom.xml 添加test依赖 <!-- starter-test&#xff1a;junit spring-test mockito --> <dependency><groupId>org.springframework.boot</groupId><artifac…

【论文阅读】AsyncDiff: Parallelizing Diffusion Models by Asynchronous Denoising

论文&#xff1a;2406.06911 (arxiv.org) 代码&#xff1a;czg1225/AsyncDiff: Official implementation of "AsyncDiff: Parallelizing Diffusion Models by Asynchronous Denoising" (github.com) 简介&#xff1a;异步去噪并行化扩散模型。提出了一种新的扩散模…

【Java】垃圾回收学习笔记(一):判定对象的存活或死亡?Root Search 根可达算法

文章目录 1. 引用计数法优点缺点 2. 可达性分析 Root Search2.1 那些对象是GC Roots2.2 引用的分类 3. 回收方法区Reference 最近上班地铁上偶尔看看书&#xff0c;周末有空理一下&#xff0c;做个笔记。 下面说说GC过程中如何判断对象是否存活。 1. 引用计数法 用于微软COM&a…

文心一言 VS 讯飞星火 VS chatgpt (297)-- 算法导论22.1 1题

一、给定有向图的邻接链表&#xff0c;需要多长时间才能计算出每个结点的出度(发出的边的条数)&#xff1f;多长时间才能计算出每个结点的入度(进入的边的条数)&#xff1f;如果要写代码&#xff0c;请用go语言。 文心一言&#xff1a; 计算出度 对于有向图的邻接链表表示&a…

基于OpenCv的快速图片颜色交换,轻松实现图片背景更换

图片颜色更换 图片颜色转换 当我们有2张图片,很喜欢第一张图片的颜色,第2张图片的前景照片,很多时候我们需要PS进行图片的颜色转换,这当然需要我们有强大的PS功底,当然小编这里不是介绍PS的,我们使用代码完全可以代替PS 进行图片的颜色转换 图片颜色转换步骤: 步骤…

MySQL高级----详细介绍MySQL中的锁

概述 锁是计算机协调多个进程或线程并发访问某一资源的机制&#xff0c;为了解决数据访问的一致性和有效性问题。在数据库中&#xff0c;除传统的计算资源(CPU、RAN、I/O&#xff09;的争用以外&#xff0c;数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、…

U盘非安全退出后的格式化危机与高效恢复策略

在数字化时代&#xff0c;U盘作为数据存储与传输的重要工具&#xff0c;其数据安全备受关注。然而&#xff0c;一个常见的操作失误——U盘没有安全退出便直接拔出&#xff0c;随后再插入时却遭遇“需要格式化”的提示&#xff0c;这不仅让用户措手不及&#xff0c;更可能意味着…

kubeadm快速部署k8s集群

文章目录 Kubernetes简介1、k8s集群环境2、linux实验环境初始化【所有节点】3、安装docker容器引擎【所有节点】4、安装cri-dockerd【所有节点】5、安装 kubeadm、kubelet、kubectl【所有节点】6、部署 k8s master 节点【master节点】7、加入k8s Node 节点【node节点】8、部署容…

【JavaWeb程序设计】JSP访问数据库

目录 一、安装Mysql&#xff0c;设置好数据库的账户和密码 二、JSP访问数据库的步骤 ①加载数据库驱动程序&#xff1b; ②建立连接对象&#xff1b; ③创建语句对象&#xff1b; ④获得结果集&#xff1b; ⑤关闭有关连接对象。 三、实现个人信息的查询和展示 1、新增…

缓存-缓存使用2

1.缓存击穿、穿透、雪崩 1.缓存穿透 指查询一个一定不存在的数据&#xff0c;由于缓存是不命中&#xff0c;将去查询数据库&#xff0c;但是数据库也无此纪录&#xff0c;我们没有将这次查询的null写入缓存&#xff0c;这将导致这个不存在的数据每次请求都要到存储层去查询&a…

java信号量(Semaphore)

Java中的信号量&#xff08;Semaphore&#xff09;是一种用于控制多个线程对共享资源的访问的同步工具。它可以用来限制可以同时访问某些资源的线程数量。Semaphore 提供了一个计数器来管理许可证的获取和释放&#xff0c;每个许可证代表对资源的一次访问权限。 import java…

【Python进阶】函数的扩展

函数 目录 函数 一、容器知识补充 1、字典遍历方法 2、遍历字典元素 keys()方法&#xff1a; values()方法&#xff1a; items()方法&#xff1a; 3、公共运算符 4、公共方法 二、函数介绍 1、函数的概念 2、引入函数 3、函数定义与调用 4、函数的参数 5、函数…

机器学习与深度学习:区别(含工作站硬件推荐)

一、机器学习与深度学习区别 机器学习&#xff08;ML&#xff1a;Machine Learning&#xff09;与深度学习&#xff08;DL&#xff1a;Deep Learning&#xff09;是人工智能&#xff08;AI&#xff09;领域内两个重要但不同的技术。它们在定义、数据依赖性以及硬件依赖性等方面…

Unity扩展 Text支持超链接文本

重点提示&#xff1a;当前的文本扩展支持多个超链接&#xff0c;支持修改超链接规则和支持修改超链接颜色。 近期在邮件文本中用到了超链接。最初是在邮件窗口中新加一个按钮用来超链接跳转&#xff0c;之后发现效果表现不如直接在文本中添加&#xff0c;后经过几个小时的资料…