html小白初学

news2025/1/11 7:07:41

语义化更易读,seo;搜索引擎优化

块级元素:独占一行,不管内容长度

内联元素:紧跟着排列d3ea390dd168425299c5bcca1afea187.png

 盒模型:

标准盒模型,内容即为长宽,内外边距,框都不算。

怪异盒模型,内边距+内容+框=宽

标准盒模型写width:200px

得到的box-sizing大于200,

加上一句box-sizing:border-box。就缩到200了

不加的话就是默认content-box(内容占据全部的width)

afcaa02d889c4c8e9cac1de79566866d.png

37f6dfabdf1b4d7d9593d8bce5238454.png

margin合并

当两个div有低外边距和顶外边距时,会造成盒子塌陷。

<body>
    <div>第一个盒子</div>
    <div>第二个盒子</div>
</body>

<style>
    div {
        font-size: 16px;
        line-height: 1;
        margin-top: 10px;
        margin-bottom: 50px;
        border: 1px solid #fcfcfc;
    }
</style>

 在两个div之间插入空div,也会合并。

margin负值

a1cdb725b0a94882be49442c1b29eb0b.png

BFC:Block formatting context(块级格式化上下文)

形成独立的渲染区域,内部原元素的渲染不会影响外界,用于清除浮动

c3544e90b7b246f4b7941a0faf68e1a3.png

正常div先写img,加上float:left,再写<p>,文字正常,但是整个div高度很小,造成图片浮动

0d8921d7326145c48ac3648dc4e91144.png

加上

 .bfc {

        overflow: hidden;

    }

5bdb963bd3154ada81adbc231c91259b.png

还是有问题:p占满了整个页面

291806a55918478a8210135edaa0602b.png

解决方案:p也加上bfc

29c37c1da7d64bf487bcd8f44349483f.png

圣杯布局

f518a25567ea40e6be4e636516a16cb9.png

452be8f9f9d34277870c61e33aa198fe.png

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <div>
        <div id="header">header</div>
        <div id="content">
            <div id="center" class="column">center</div>
            <div id="left" class="column">left</div>
            <div id="right" class="column">right</div>
        </div>
        <div id="footer">footer </div>
    </div>
</body>

<style>
    div {
        text-align: center;
    }

    #header {
        background-color: #f1f1f1;
    }

    #content {
        padding-left: 300px;
        padding-right: 200px;
    }

    #content #center {
        background-color: #ddd;
        width: 100%;
    }

    #content #left {
        background-color: yellow;
        width: 300px;
        margin-left: -100%;
        /* 拖到上面 */
        position: relative;
        right: 300px;
        /* 继续左拖300px */
    }

    #content #right {
        background-color: green;
        width: 200px;
        margin-right: -200px;
    }

    #content .column {
        float: left;
    }

    #footer {
        background-color: #f1f1f1;
        clear: both;
        /* 清除浮动 */
    }
</style>

</html>

flex骰子布局

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <div class="continer">
        <div class="point"></div>
        <div class="point"></div>
        <div class="point"></div>
    </div>
</body>

<style>
    .continer {
        background-color: #fff;
        border: 1px solid #000;
        display: flex;
        flex-direction: row;
        width: 100px;
        height: 100px;
    }

    .point {
        background-color: black;
        border-radius: 50%;
        width: 20px;
        height: 20px;
        margin: 7px;
    }

    .point:nth-child(2) {
        align-self: center;
    }

    .point:nth-child(3) {
        align-self: flex-end;
    }
</style>

</html>

26d44aa1c87643f8843693a00baf7108.png

row-reserve是从右往左排列

ac4375aa2ba74d44b30d76d504aacda7.png

space-between是左右靠边分布

space-around是等距离分布

bcc0802a02414314a65d79b76bbd487b.png

baseline:不是靠近最底下。是靠近基线,而交叉轴和主轴的基线从左上角开始。

示例:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <div class="continer">
        <div class="point"></div>
        <div class="point"></div>
        <div class="point"></div>
        <div class="point"></div>
        <div class="point"></div>
        <div class="point"></div>
        <div class="point"></div>
        <div class="point"></div>
        <div class="point"></div>
        <div class="point"></div>
        <div class="point"></div>
        <div class="point"></div>
        <div class="point"></div>
        <div class="point"></div>
        <div class="point"></div>
        <div class="point"></div>
        <div class="point"></div>
        <div class="point"></div>
        <div class="point"></div>
        <div class="point"></div>
        <div class="point"></div>
        <div class="point"></div>
        <div class="point"></div>
        <div class="point"></div>
        <div class="point"></div>
        <div class="point"></div>
        <div class="point"></div>
    </div>
</body>

<style>
    .continer {
        background-color: #fff;
        border: 1px solid #000;
        display: flex;
        flex-direction: row;
        width: 100px;
        height: 100px;
        justify-content: flex-start;
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .point {
        background-color: black;
        border-radius: 50%;
        width: 20px;
        height: 20px;
        margin: 0;
    }

    /* .point:nth-child(2) {
        align-self: center;
    }

    .point:nth-child(3) {
        align-self: flex-end;
    } */
</style>

</html>

2c8ded54b176486ca38515ea46082418.png

relative和absolte定位

62f9965b81a24e1cabb070d53e833cc9.png

relative相对于自身,absolute相对于上一个父元素

在CSS中,relative和absolute是用于定位元素的两种方式

relative(相对定位)是相对于元素自身原来的位置进行定位。当你对一个元素使用position: relative后,可以通过top、bottom、left、right属性来移动这个元素。元素原来占据的空间仍然会保留,其他元素不会占据它原来的位置。例如,设置一个元素position: relative和top: 10px,这个元素会相对于它原来的位置向下移动10像素

absolute(绝对定位)是相对于最近的已定位祖先元素(position属性值为relative、absolute或者fixed)来定位。如果没有已定位的祖先元素,那么它会相对于文档根元素(<html>)进行定位。当一个元素使用position: absolute时,它会脱离文档流,原来占据的空间不会被保留,其他元素会填补它原来的位置。比如,在一个相对定位的容器中有一个绝对定位的元素,这个绝对定位元素会以容器的左上角为参照点(如果没有其他偏移量设置)进行定位。

水平居中

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

    <div class="item1">hello world</div>


    <div class="continer">
        <div class="item2">hello world</div>

    </div>
    <div class="continer">
        <div class="item3">hello world</div>
    </div>
</body>

<style>
    .continer {
        width: 400px;
        height: 200px;
        background-color: gray;
        border: 1px solid black;
    }


    .item1 {
        text-align: center;
        background-color: gray;
    }

    .continer .item2 {
        margin: 0 auto;
        background-color: pink;
        width: 100px;
        height: 100px;
    }

    .item3 {
        position: absolute;
        background-color: yellow;
        top: 250px;
        left: 50px;
        left: 50%;
        margin-left: -150px;
    }
</style>

</html>

垂直居中

line-heigh继承

当1情况,直接继承50px,

当2情况,继承1.5*自身行高

当3情况,继承2*父元素行高。

rem?

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

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

相关文章

Python subprocess.run 使用注意事项,避免出现list index out of range

在执行iOS UI 自动化专项测试的时候&#xff0c;在运行第一遍的时候遇到了这样的错误&#xff1a; 2024-12-04 20:22:27 ERROR conftest pytest_runtest_makereport 106 Test test_open_stream.py::TestOpenStream::test_xxx_open_stream[iPhoneX-xxx-1-250] failed with err…

RTCMultiConnection 跨域问题解决

js套件地址 https://github.com/muaz-khan/RTCMultiConnection server套件地址 https://github.com/muaz-khan/RTCMultiConnection-Server 要解决的就是server代码的跨域问题 原装写法&#xff1a; 解决写法&#xff1a; // 喜欢组合语法的自己组 const io new ioServer.S…

即时通信系统项目总览

聊天室服务端项目总体介绍 本项目是一个全栈的即时通信系统, 前端使用QT实现聊天客户端, 后端采⽤微服务框架设计, 由网关子服务统一接收客户端的请求, 再分发到不同的子服务上处理并将结果返回给网关, 网关再将响应转发给客户端 拆分的微服务包含&#xff1a; 网关服务器&…

网络原理之 TCP 协议

目录 1. TCP 协议格式 2. TCP 原理 (1) 确认应答 (2) 超时重传 (3) 连接管理 a) 三次握手 b) 四次挥手 (4) 滑动窗口 (5) 流量控制 (6) 拥塞控制 (7) 延时应答 (8) 捎带应答 3. TCP 特性 4. 异常情况的处理 1) 进程崩溃 2) 主机关机 (正常流程) 3) 主机掉电 (…

从零开始的使用SpringBoot和WebSocket打造实时共享文本应用

在现代应用中&#xff0c;实时协作已经成为了非常重要的功能&#xff0c;尤其是在文档编辑、聊天系统和在线编程等场景中。通过实时共享文档&#xff0c;多个用户可以同时对同一份文档进行编辑&#xff0c;并能看到其他人的编辑内容。这种功能广泛应用于 Google Docs、Notion 等…

「Mac畅玩鸿蒙与硬件43」UI互动应用篇20 - 闪烁按钮效果

本篇将带你实现一个带有闪烁动画的按钮交互效果。通过动态改变按钮颜色&#xff0c;用户可以在视觉上感受到按钮的闪烁效果&#xff0c;提升界面互动体验。 关键词 UI互动应用闪烁动画动态按钮状态管理用户交互 一、功能说明 闪烁按钮效果应用实现了一个动态交互功能&#xf…

SSM报错:表现层方法应该返回字符串,但是返回页面

在进行SSM项目时&#xff0c;后端表现层应该返回给前端字符串&#xff0c;但是却跳转页面 1.首先检查是否使用ResponseBody注解 ResponseBody注解 作用&#xff1a;将java对象转为json格式的数据。将controller的方法返回的对象通过适当的转换器转换为指定的格式之后&#xff0…

重生之我在异世界学编程之C语言:深入结构体篇(上)

大家好&#xff0c;这里是小编的博客频道 小编的博客&#xff1a;就爱学编程 很高兴在CSDN这个大家庭与大家相识&#xff0c;希望能在这里与大家共同进步&#xff0c;共同收获更好的自己&#xff01;&#xff01;&#xff01; 本文目录 引言正文《1》 结构体的两种声明一、结构…

Diffusion中guidance_scale 的理解

guidance_scale 是一个控制生成图像引导程度的参数。它的含义和使用与论文 Imagen: Photorealistic Text-to-Image Diffusion Models with Composable Conditions 中的公式 (2) 的引导权重 类似。 1. Classifier-Free Guidance 的背景 Classifier-Free Guidance 是一种在扩散…

【kettle】mysql数据抽取至kafka/消费kafka数据存入mysql

目录 一、mysql数据抽取至kafka1、表输入2、json output3、kafka producer4、启动转换&#xff0c;查看是否可以消费 二、消费kafka数据存入mysql1、Kafka consumer2、Get records from stream3、字段选择4、JSON input5、表输出 一、mysql数据抽取至kafka 1、表输入 点击新建…

新书速览|循序渐进Node.js企业级开发实践

《循序渐进Node.js企业级开发实践》 1 本书内容 《循序渐进Node.js企业级开发实践》结合作者多年一线开发实践&#xff0c;系统地介绍了Node.js技术栈及其在企业级开发中的应用。全书共分5部分&#xff0c;第1部分基础知识&#xff08;第1&#xff5e;3章&#xff09;&#xf…

基于大模型的图像重命名工具ai-renamer

文章目录 基础使用语言问题命名风格 基础使用 ai-renamer是一款自动为图片重命名的工具&#xff0c;由于需要调用基于本地大模型&#xff0c;在使用之前需要用Ollama或者LM Studio配置好至少一个大模型&#xff0c;比如Llava, Gemma, Llamad等。如果想要为视频重命名&#xff…

element Cascader级联选择器 点文字即可选中,去掉radio按钮

需求 将示例的点击radio和点击文字功能结合在一起。可以选择任意一级的内容&#xff0c;直接点击文字即可选中&#xff0c;同时如果有下一级就展示&#xff0c;去掉radio标签。 实现方法 通过css将radio标签做成文字框一样大小并且透明覆盖在整个文字上方&#xff0c;点击文…

【已解决】黑马点评项目中启动Spring Boot服务失败,com.sun.tools.javac.tree.JCTree qualid

黑马点评项目中启动Spring Boot服务失败 报错提示 java: java.lang.NoSuchFieldError: Class com.sun.tools.javac.tree.JCTree$JCImport does not have member field com.sun.tools.javac.tree.JCTree qualid这是因为 lombok 版本不兼容造成的 找到 pom.xml 文件&#xff0…

C#,人工智能,深度学习,目标检测,OpenCV级联分类器数据集的制作与《层级分类器一键生成器》源代码

一、目标识别技术概述 1、摘要 目标检测是计算机视觉中最基本和最具挑战性的问题之一&#xff0c;它试图从自然图像中的大量预定义类别中定位目标实例。深度学习技术已成为直接从数据中学习特征表示的强大策略&#xff0c;并在通用目标检测领域取得了显著突破。鉴于这一快速发…

绿虫光伏设计系统:清洁能源的未来

煤炭、石油、天然气是我们现在依赖的重要能源&#xff0c;但这些能源难以再生&#xff0c;而且开采过程中会产生污染。太阳能发电作为清洁能源的一种重要形式&#xff0c;受到了越来越多的关注。绿虫光伏发电系统&#xff0c;不仅考虑到其发电效率&#xff0c;还可以考虑其经济…

2025澄迈漓岛音乐节品牌招商大会成功举行

——共谋音乐盛事&#xff0c;携手推动文化经济发展 12月6日&#xff0c;“2025澄迈漓岛音乐节品牌招商大会”&#xff08;以下简称“招商大会”&#xff09;在澄迈举行。本次大会由澄迈福山发展有限公司、福山咖啡文化风情镇旅游区联合主办&#xff0c;海南绿发投资有限公司承…

基于Java和Vue开发的漫画阅读软件漫画阅读小程序漫画APP

前景分析 受众广泛&#xff1a;漫画的受众群体广泛&#xff0c;不仅限于青少年&#xff0c;还涵盖了成年人等多个年龄层和社会阶层。漫画文化在全球范围内的影响力不断扩大&#xff0c;未来漫画软件创业可以考虑全球市场的拓展。 市场需求大&#xff1a;数字化阅读趋势下&…

Lua中实现HTTP请求的User-Agent自定义

User-Agent&#xff08;用户代理&#xff09;是HTTP请求头的一部分&#xff0c;用于描述发出请求的客户端的信息&#xff0c;包括浏览器类型、版本和操作系统等。自定义User-Agent对于开发者来说是一个重要的功能&#xff0c;它可以帮助服务器识别请求来源&#xff0c;也可以模…

dell电脑开不了机怎么回事?戴尔电脑无法开机解决方法

dell戴尔电脑开不了机&#xff0c;这是很多使用dell电脑用户常遇到的问题。这种故障情况是由多种原因引起&#xff0c;包括硬件故障、软件问题或电源问题等等。dell电脑开不了机怎么办呢&#xff1f;下面便为大家介绍一下相关解决修复方法&#xff0c;帮助用户解决戴尔电脑无法…