CSS学习笔记03

news2024/11/18 22:30:48

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; - 边框的四个角的圆形半径都是20px
    border-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.coloradmin.cn/o/956095.html

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

相关文章

汉服网上购物商城穿搭交流的微信小程序的设计与实现

社会的发展和科学技术的进步&#xff0c;互联网技术越来越受欢迎。手机也逐渐受到广大人民群众的喜爱&#xff0c;也逐渐进入了每个用户的使用。手机具有便利性&#xff0c;速度快&#xff0c;效率高&#xff0c;成本低等优点。 因此&#xff0c;构建符合自己要求的操作系统是非…

Redis项目实战——优惠券秒杀

目录 Redis自增功能解决全局唯一IDRedis实现优惠券秒杀的主要思路实现过程中出现的问题及解决方法超卖问题方案1 悲观锁方案2 乐观锁 一人一单问题分布式锁如何用Redis实现分布式锁&#xff1f; Redis优化秒杀消息队列实现异步秒杀List发布订阅模式Stream Redis自增功能解决全局…

通过RISC-V预认证解决方案应对功能安全挑战

安全之安全(security)博客目录导读 2023 RISC-V中国峰会 安全相关议题汇总 说明&#xff1a;本文参考RISC-V 2023中国峰会如下议题&#xff0c;版权归原作者所有。

Nuxt3_2_SEO and Meta+Transitions

1. SEO and Meta 使用强大的head配置、可组合组件和组件来改善nuxt应用的SEO。 nuxt开箱即用&#xff0c;提供了相同的默认值&#xff0c;如果需要&#xff0c;你可以覆盖这些默认值。 charset: utf-8viewport: widthdevice-width, initial-scale1 可以在nuxt.config.ts中进…

Unity3D 连接 SQLite 作为数据库基础功能【详细图文教程】

一、简单介绍一下SQLite的优势&#xff08;来自ChatGPT&#xff09; 轻量级: SQLite是一个嵌入式数据库引擎&#xff0c;它的库文件非常小巧&#xff0c;没有独立的服务器进程&#xff0c;适用于嵌入到其他应用程序中&#xff0c;对于轻量级的项目或移动应用程序非常适用。零配…

云原生Kubernetes:K8S概述

目录 一、理论 1.云原生 2.K8S 3.k8s集群架构与组件 二、总结 一、理论 1.云原生 &#xff08;1&#xff09;概念 云原生是一种基于容器、微服务和自动化运维的软件开发和部署方法。它可以使应用程序更加高效、可靠和可扩展&#xff0c;适用于各种不同的云平台。 如果…

执行公开网数据采集-技术人员撤退

首先逼逼&#xff0c;此贴仅为秀肌肉&#xff0c;技术人员想学习的话可以绕道了 打开控制台&#xff0c;看cookie&#xff0c;ST&#xff0c;某数 第一个请求412&#xff0c;看VM 然后就是替换js&#xff0c;hook&#xff0c;之类的&#xff0c;扣代码流程&#xff0c;此处省…

C语言:函数原型声明时的参数列表

相关阅读 C语言专栏https://blog.csdn.net/weixin_45791458/category_12423166.html 在C语言中&#xff0c;使用函数前&#xff0c;要么对函数进行了定义&#xff0c;要么对函数原型进行了声明&#xff0c;ANSI C形式的函数原型声明形式如下&#xff1a; void show(char ch, …

nvm use node版本无效问题

没想到使用nvm还折腾一上午&#xff0c;安装nvm 1.1之后&#xff0c;发现 nvm install 16.20.2 nvm use 16.20.2 之后&#xff0c;node -v 根本不生效&#xff0c;找了很久发现少设置了一些变量&#xff0c;可以参考如下前人经验&#xff1a;nvm use 命令失效 - 简书 (jians…

成都优优聚优质美团服务机构!

成都优优聚是一家专业的美团代运营服务机构&#xff0c;其优秀的团队和丰富的经验使其成为了众多商家的首选合作伙伴。下面就让我们一起来了解一下成都优优聚做美团代运营的优势和特点。 首先&#xff0c;成都优优聚拥有一支专业高效的运营团队。团队成员均具备丰富的美团运营经…

2022年03月 C/C++(五级)真题解析#中国电子学会#全国青少年软件编程等级考试

第1题&#xff1a;数字变换 给定一个包含 5 个数字&#xff08;0-9&#xff09;的字符串&#xff0c; 例如 “02943”&#xff0c; 请将“12345”变换到它。 你可以采取 3 种操作进行变换 &#xff08;1&#xff09;交换相邻的两个数字 &#xff08;2&#xff09;将一个数字加 …

ssm学生公寓管理系统的设计与实现

ssm学生公寓管理系统的设计与实现106 开发工具&#xff1a;idea 数据库mysql5.7 数据库链接工具&#xff1a;navcat,小海豚等 技术&#xff1a;ssm 摘 要 现代经济快节奏发展以及不断完善升级的信息化技术&#xff0c;让传统数据信息的管理升级为软件存储&#xff0c;归…

d3dcompiler_43.dll丢失怎么修复,分享几种修复d3dcompiler_43.dll的方法

不少人可能看到d3dcompiler_43.dll这个文件会感觉到陌生&#xff0c;是的&#xff0c;因为这个文件一般来说是很少丢失的&#xff0c;但是还是会出现d3dcompiler_43.dll丢失的情况的&#xff0c;今天主要是来给大家详细的说说d3dcompiler_43.dll丢失怎么修复的相关方法。 一.分…

Python Flask Web开发二:数据库创建和使用

前言 数据库在 Web 开发中起着至关重要的作用。它不仅提供了数据的持久化存储和管理功能&#xff0c;还支持数据的关联和连接&#xff0c;保证数据的一致性和安全性。通过合理地设计和使用数据库&#xff0c;开发人员可以构建强大、可靠的 Web 应用程序&#xff0c;满足用户的…

SpringBoot 2.7 集成 Netty 4 实现 UDP 通讯

文章目录 1 摘要2 核心 Maven 依赖3 核心代码3.1 服务端事务处理器(DemoUdpNettyServerHandler)3.2 服务端连接类(InitUdpNettyServer)3.3 客户端事务处理类(DemoUdpNettyClientHandler)3.4 客户端连接类(DemoUdpNettyClient) 4 高并发性能配置5 推荐参考资料6 Github 源码 1 摘…

ROLL.DBF回滚表空间增长问题(达梦数据库)

达梦数据库 - 回滚表空间增长问题 环境介绍1 环境搭建1.1 创建表与测试数据1.2 查询待提交的数据量1.3 查询回滚表空间使用情况1.3.1 插入数据前查询结果1.3.2 插入数据后未提交事务查询结果1.3.3 插入数据后提交事务查询结果 环境介绍 达梦数据库ROLL.DBF 在某些业务系统厂商…

防破解暗桩思路:检查菜单是否被非法修改过源码

本篇文章属于《518抽奖软件开发日志》系列文章的一部分。 我在开发《518抽奖软件》&#xff08;www.518cj.net&#xff09;的时候&#xff0c;为了防止被破解&#xff0c;需用添加一些暗桩&#xff0c;在合适的时机检查软件是否被非法修改过&#xff0c;如果被非法修改就做出提…

【位运算】位运算常用技巧总结

目录 前言 一.常见的小问题 1.给定一个数n,确定它的二进制表示中的第x位是0还是1 2.给定一个数n&#xff0c;将它的二进制表示中的第x位修改成1 3.给定一个数n&#xff0c;将它的二进制表示中的第x位修改成0 4.给定一个数n&#xff0c;提取它的二进制表示中最右侧的1&…

AUTOSAR开发工具DaVinci Configurator里的Modules

DaVinci Configurator 里面有个Module这个概念。 如你所想&#xff0c;基本上跟AUTOSAR架构里面的Module相对应 从软件的Project菜单中的Basic Editor项可以打开 打开这个菜单后&#xff0c;会看到很多Modules项以及其相关配置项 这个Basic Editor显示出整个ECU配置中的所有…

Windows 安装 RabbitMq

Windows 上安装 RabbitMQ 的步骤 RabbitMQ 是一个强大的开源消息队列系统&#xff0c;广泛用于构建分布式、可扩展的应用程序。本教程将带您一步一步完成在 Windows 系统上安装 RabbitMQ 的过程。无需担心&#xff0c;即使您是初学者&#xff0c;也能够轻松跟随这些简单的步骤…