CSS学习笔记03

CSS笔记03

盒子模型

什么是盒子模型

  • 概念:
    • CSS 盒子模型就是在网页设计中经常用到的一种思维模型,是 CSS 布局的基石,主要规定了元素是如何显示的以及元素间的相互关系。定义所有元素都可以有像盒子一样的平面空间和外形。包含内容区内边距区边框区外边距区共四个区域,这就是盒子模型。
  • 组成:
    • margin:外边距区域
    • border:边框区域
    • padding:内边距区域
    • content :内容区域

在这里插入图片描述

  • 盒子占用空间大小的计算方式:content +padding+border+margin

边框 - border

  • 设置边框:

    • border: 粗细 样式 颜色
  • 下面我们就通过写代码的方式来学习理解什么是边框以及怎样设置边框:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>/*body、h1等标签总有一个默认的外边距例如body的默认外边距 - margin: 8px;*//* 常见操作:初始化,去除默认外边距 */body,h2 {margin: 0;}/*设置边框 - border: 粗细 样式 颜色样式:solid - 实线dashed - 虚线*/#box {width: 300px;border: 1px solid red;}h2 {font-size: 16px;background-color: red;line-height: 50px;color: white;}form {background: lightpink;}span {font-size: 14px;color: darkred;}/* 结构伪类选择器 + 后代选择器 */.inputs:nth-of-type(1) input {border: 3px solid black;}.inputs:nth-of-type(2) input {border: 3px dashed blue;}.inputs:nth-of-type(3) input {border: 3px dashed red;}</style></head>
<body><div id="box"><h2>会员登陆</h2><form action="#"><div class="inputs"><span>账号:</span><input type="text"></div><div class="inputs"><span>密码:</span><input type="text"></div><div class="inputs"><span>邮箱:</span><input type="text"></div></form>
</div></body>
</html>
  • 查看网页效果:

在这里插入图片描述

内外边距 - padding & margin

  • 内边距padding与外边距margin的设置方式大致相同,这里以外边距margin为例,它共有三种常用的设置方式:

    • margin: 0; - 表示上下左右外边距都为零。
    • margin: 0 auto; - 表示上下外边距都为0,左右外边距都为自动居中对齐( auto
      • 注意:使用margin: 0 auto;对元素进行居中操作的前提是该元素必须是块元素(display:block;),且有固定的宽度(如inputbuttonimg等元素,自带宽度可以不用设置其宽度) 。
      • 可以通过对块级元素设置text-align:center;的方式来实现内联元素(如文本、图片)居中
      • margin:0 auto;可以使盒子居中,text-align:center;可以使此盒子内的内联元素居中,故有时需要两者结合使用才能使得盒子及其中的元素一起居中。
    • margin: 0 1px 2px 3px; - 表示上外边距为0,右外边距为1px,下外边距为2px,左外边距为3px(上右下左 --> 顺时针方向)。
  • 下面我们通过写代码的方式来学习理解什么是内外边距以及怎样设置内外边距:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><!-- 外边距margin的妙用:居中元素margin: 0; - 上下左右外边距都为零margin: 0 auto; - 上下外边距为0,左右外边距为自动居中对齐(auto)margin: 0 1px 2px 3px; - 上外边距为0,右外边距为1px,下外边距为2px,左外边距为3px(上右下左 -> 顺时针)--><!-- 内边距padding的使用方法与margin大致相同 --><style>#box {width: 300px;border: 1px solid red;margin: 0 auto;}h2 {font-size: 16px;background-color: red;line-height: 50px;color: white;margin: 0;padding: 0 115px;}form {background: lightpink;}.inputs {padding: 10px 40px;}span {font-size: 14px;color: darkred;}input {border: 1px solid black;}</style></head>
<body><div id="box"><h2>会员登陆</h2><form action="#"><div class="inputs"><span>账号:</span><input type="text"></div><div class="inputs"><span>密码:</span><input type="text"></div><div class="inputs"><span>邮箱:</span><input type="text"></div></form>
</div></body>
</html>
  • 查看网页效果:

在这里插入图片描述

圆角边框

圆角边框的设置

  • CSS 属性border-radius允许你设置元素的外边框圆角。当使用一个半径时确定一个圆形,当使用两个半径时确定一个椭圆。这个(椭)圆与边框的交集形成圆角效果。
  • 示例:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><!-- 圆角边框 - border-radius:border-radius: 20px; - 边框的四个角的圆形半径都是20pxborder-radius: 50px 10px; - 边框的左上角(↖)和右下角(↘)的圆形半径都是50px,边框的右上角(↗)和左下角(↙)都是50px【对角线】border-radius: 50px 30px 10px 0; - 边框的左上角(↖)的圆形半径是50px,右上角(↗)是30px,右下角(↘)是10px,左下角(↙)是0【顺时针】将正方形的边框变为圆形:当圆角的半径 = 1/2*(content的宽度+左右(上下)padding的宽度之和+border的宽度*2)时,该盒子的边框将由正方形变为圆形--><style >div {width: 100px;height: 100px;border: 10px solid red;margin: 10px;}#box1 {border-radius: 20px;}#box2 {border-radius: 50px 10px;}#box3 {border-radius: 50px 30px 10px 0;}#box4 {border-radius: 60px;}</style></head>
<body><div id="box1"></div>
<div id="box2"></div>
<div id="box3"></div>
<div id="box4"></div></body>
</html>
  • 查看网页效果:

在这里插入图片描述

  • 关于上述圆形边框的理解可以参照下图:

在这里插入图片描述

圆角边框的应用

  • 我们可以利用圆角边框来绘制各种图形,制作圆形的头像等等:
  • 示例:
  • 准备一张正方形的头像图片:

在这里插入图片描述

  • 具体代码如下:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><style>div {background: red;margin: 50px;}#box1 {width: 100px;height: 50px;border-radius: 50px 50px 0 0;}#box2 {width: 50px;height: 100px;border-radius: 0 50px 50px 0;}#box3 {width: 50px;height: 50px;border-radius: 50px 0 0 0;}img {border-radius: 50px;margin: 0 50px;}span {margin: 0 59px;}</style></head>
<body><div id="box1"></div>
<div id="box2"></div>
<div id="box3"></div>
<img src="images/ProfilePic.png" alt="ProfilePicture">
<br/>
<span>头像</span></body>
</html>
  • 查看网页效果:

在这里插入图片描述

盒子阴影

  • CSS box-shadow属性用于在元素的框架上添加阴影效果。
    • 具体用法如下box-shadow: 水平偏移量 垂直偏移量 阴影模糊半径 阴影颜色
  • 示例 - 利用box-shadow实现盒子的阴影效果以及头像图片的发光效果:
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head><!-- 盒子阴影 - box-shadow: 水平偏移量 垂直偏移量 阴影模糊半径 阴影颜色 --><style>div {width: 100px;height: 100px;background-color: skyblue;margin: 100px auto;box-shadow: 20px 20px 5px black;}img {display: block;margin: 100px auto;border-radius: 50px;box-shadow: 0 0 100px yellow;}</style>
<body><div></div><img src="images/ProfilePic.png" alt="ProfilePicture"/></body>
</html>
  • 查看网页效果:

在这里插入图片描述

拓展 - 关于快速搭建网站

  • 我们在设计编写前端页面的时候要避免 “重复造轮子” ,很多复杂的样式自己用 CSS 写起来很繁琐,我们没必要花费大量时间自己去编写。我们可以直接用开源网站上提供的源码或者使用 element-ui 这类网站上的组件来搭建我们的前端页面。

  • 推荐几个网站:

    • 源码之家 - 提供了很多网站设计的源码
    • 模板之家 - 提供了很多网站设计的模板
    • Element - 网站快速成型工具 - 提供了很多快捷搭建网站的组件

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

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

相关文章

Vue——vue3中的ref和reactive数据理解以及父子组件之间props传递的数据

ref()函数 这是一个用来接受一个内部值&#xff0c;返回一个响应式的、可更改的 ref 对象&#xff0c;此对象只有一个指向其内部值的属性 .value。 作用&#xff1a;创建一个响应式变量&#xff0c;使得某个变量在发生改变时可以同步发生在页面上。 模板语句中使用这个变量时…

国产集成开发环境工具 CEC-IDE

本周&#xff0c;国内首款适配国产操作系统、自主可控的集成开发环境工具 CEC-IDE 终于开放下载了。公开报道显示&#xff0c;这款集成开发环境工具由数字广东公司联合麒麟软件打造&#xff0c;于今年 6 月份首次亮相。本周&#xff0c;软件上线仅几天内就在知乎和 GitHub 上引…

Jenkins buildDescription 设置html格式及url

文章目录 1.首先安装插件2.更改配置3.接下来就可以在pipline里写脚本了 当然也可以插件方式配置示例1 脚本方式示例2 插件方式 搞了好多种方式都不成功后来发现是配置有问题&#xff0c;其实很简单&#xff0c;记录下也给想用此功能的朋友们一个示例&#xff0c;网上写的例子都…

什么是手术麻醉系统?

一、手术麻醉系统的主要作用 手术麻醉系统能更好、更准确地记录和管理手术与麻醉的临床信息&#xff0c;提高医生和麻醉师的工作效率。它主要用于病人手术与麻醉的申请、审批、安排&#xff0c;精确记录病人在手术过程中的术中医嘱、术中费用等信息&#xff0c;追踪生命体征等…

〔021〕Stable Diffusion 之 提示词反推、自动补全、中文输入 篇

✨ 目录 &#x1f388; 反推提示词 / Tagger&#x1f388; 反推提示词 Tagger 使用&#x1f388; 英文提示词自动补全 / Booru tag&#x1f388; 英文提示词自动补全 Booru tag 使用&#x1f388; 中文提示词自动补全 / tagcomplete&#x1f388; 中文提示词自动补全 tagcomple…

DETRs Beat YOLOs on Real-time Object Detection

目录 1、模型架构1.1高效混合编码器1.1.1 尺度内特征交互模块AIFI1.1.2 跨尺度特征融合CCFM 1.2IoU感知查询选择总结 DETRs在实时目标检测中击败YOLO 问题&#xff1a;DETR的高计算成本&#xff0c;实时检测效果有待提高 解决&#xff1a;提出了一个实时的目标检测器 具体来说…

SpringCloud(35):Nacos 服务发现快速入门

本小节,我们将演示如何使用Spring Cloud Alibaba Nacos Discovery为Spring cloud 应用程序与 Nacos 的无缝集成。 通过一些原生的spring cloud注解,我们可以快速来实现Spring cloud微服务的服务发现机制,并使用Nacos Server作为服务发现中心,统一管理所有微服务。 1 Spring…

elementui el-table在有summary-method时,table数据行将合计行遮挡住了

前端使用框架&#xff1a;elementUI 使用组件&#xff1a;el-table 在表格内添加合计了合计行&#xff0c;根据业务多次调用数据渲染画面后&#xff0c;偶然导致画面变成如下图所示&#xff0c;table的数据行将合计行遮挡住了&#xff0c;且这个现象有时候好用&#xff0c;有…

【ES6】Class中this指向

先上代码&#xff1a; 正常运行的代码&#xff1a; class Logger{printName(name kexuexiong){this.print(hello ${name});}print(text){console.log(text);} }const logger new Logger(); logger.printName("kexueixong xiong");输出&#xff1a; 单独调用函数p…

电脑怎么设置定时关机,2个简单的操作

电脑作为现代生活中不可或缺的工具&#xff0c;我们通常会在工作或娱乐过程中使用它。但有时候&#xff0c;我们可能需要在一段时间后自动关机&#xff0c;例如在下载完成后或在睡觉前。那么电脑怎么设置定时关机呢&#xff1f;为了满足这种需求&#xff0c;电脑提供了多种定时…

Dom-clobbering原理和例题

目录 引入 1.获取标签 2.覆盖 3.多层覆盖 利用Dom-clobbering 1.tostring 2.集合取值 3.层级关系取值 4.三层取值 5.自定义属性 例题 1 2. 3. 引入 分析 引入 先用三个小例子看看dom-clobbering干了什么 1.获取标签 这个例子给img标签分别做了一个id和一个name…

博弈论基础

简单记录一下博弈论的知识。 博弈的分类&#xff1a; 关键词&#xff1a;正则博弈、扩展博弈、第三类博弈。 市场进入和阻挠博弈&#xff1a; 不完美博弈和不完全博弈&#xff1a; 混合策略和纯策略&#xff1a;

Docker安装部署ElasticSearch(ES)

文章目录 安装前准备创建挂载目录授权相关权限创建elasticsearch.yml文件 拉取镜像运行容器查看运行情况测试 安装前准备 创建挂载目录 用于在宿主机挂载日志&#xff0c;数据等内容 创建/opt/es/data目录 创建/opt/es/logs目录 创建/opt/es/plugins目录 创建/opt/es/conf目录…

docker 安装rabbitmq

前提&#xff1a;安装好docker docker安装_Steven-Russell的博客-CSDN博客 centos7安装docker_centos7 docker 安装软件_Steven-Russell的博客-CSDN博客 1、启动docker systemctl start docker 2、下载镜像 // 可以先search查询一下可用镜像&#xff0c;此处直接下载最新版本…

C#,《小白学程序》第十一课:双向链表(Linked-List)其二,链表的插入与删除的方法(函数)与代码

1 文本格式 /// <summary> /// 改进的车站信息类 class /// 增加了 链表 需要的两个属性 Last Next /// </summary> public class StationAdvanced { /// <summary> /// 编号 /// </summary> public int Id { get; set; } 0; ///…

java八股文面试[数据库]——mysql主从复制

什么是mysql的主从复制&#xff1f; MySQL 主从复制是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点。MySQL 默认采用异步复制方式&#xff0c;这样从节点不用一直访问主服务器来更新自己的数据&#xff0c;数据的更新可以在远程连接上进行&#xff0c;从节点…

《Python魔法大冒险》005 魔法挑战:自我介绍机器人

魔法师和小鱼坐在图书馆的一扇窗户旁&#xff0c;窗外的星空闪烁着神秘的光芒。魔法师轻轻地拍了拍小鱼的肩膀。 魔法师&#xff1a; 小鱼&#xff0c;你已经学会了编写简单的魔法程序&#xff0c;现在我要教你如何创造一个有自己思想的机器人&#xff0c;让它能够和我们一样&…

联合教育部高等学校科学研究发展中心,阿依瓦科技创新教育专项正式发布!

7 月 24 日&#xff0c;教育部科技发展中心官网发布了《中国高校产学研创新基金&#xff0d;阿依瓦科技创新教育专项申请指南》。 针对高校在人工智能、智能制造、智慧校园、大数据等领域科研和教研的创新研究&#xff0c;教育部高等学校科学研究发展中心与阿依瓦(北京)技术有…

c++ vs2019 cpp20 规范,set源码分析

&#xff08;1&#xff09;set模板和map模板都是继承于一个父类 所以没有再详细注释。维持红黑树主要的功能都在父类_Tree里了&#xff0c;比如节点的添加&#xff0c;删除&#xff0c;查找。父类红黑树的操作&#xff0c;并不依赖于特定的数据类型。做到了父类模板的通用性。…

Linux命令之用户管理(详解)

Linux命令之用户管理 常用基础命令修改root密码切换用户身份改变当前目录查看命令的用法查看命令之ls 用户管理用户的创建adduser创建useradd创建两种方式的区别 用户删除用户密码重置查看当前所有用户 在介绍Linux用户管理相关的命令之前&#xff0c;我们先介绍一些Linux的一些…