CSS-显示模式,背景,盒子模型

news2024/11/19 8:41:48

1. 元素显示模式

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div,
        span,
        input {
            width: 200px;
            height: 200px;
            background-color: aquamarine;

            /* 
                设置元素显示模式 display
                block 块元素
                inline 行内元素
                inline—block 行内块元素
                nono 取消显示模式,标签隐藏不显示
            */

            display: block;
        }
    </style>
</head>
<body>
    <!-- 块状元素,独占一行,可以设置宽高等属性 -->
    <div>块状元素1</div>
    <div>块状元素2</div>

    <!-- 行内元素,和其它行内元素在一行显示,不能设置宽高 -->
    <span>行内元素1</span>
    <span>行内元素2</span>

    <!-- 行内块元素,和其它行内块元素在一行显示,能设置宽高 -->
    <input type="text" name="" id="">
    <input type="text" name="" id="">
</body>
</html>

        块级元素和行内元素的区别:

        块级元素的特点:

        (1)总是从新行开始

        (2)高度,行高、外边距以及内边距都可以控制。

        (3)宽度默认是容器的100%

        (4)可以容纳内联元素和其他块元素。

        行内元素的特点:

        (1)和相邻行内元素在一行上。

        (2)高、宽无效,但水平方向的padding和margin可以设置,垂直方向的无效。

        (3)默认宽度就是它本身内容的宽度。

        (4)行内元素只能容纳文本或则其他行内元素。

     行内块元素的特点:

     (1)和相邻行内元素(行内块)在一行上,但是之间会有空白缝隙。

     (2)默认宽度就是它本身内容的宽度。

     (3)高度,行高、外边距以及内边距都可以控制。

2. CSS三大特性

    层叠性:    

        所谓层叠性是指多种CSS样式的叠加。是浏览器处理冲突的一个能力,如果一个属性通过两个相同选择器设置到同一个元素上,那么这时一个属性就会将另一个属性层叠掉。

        比如先给某个标签指定了内部文字颜色为红色,接着又指定了颜色为蓝色,此时出现一个标签指定了相同样式不同值的情况,这就是样式冲突。 记住:就近原则。

      继承性:

        所谓继承性是指书写CSS样式表时,子标签会继承父标签的某些样式,如文本颜色和字号。想要设置一个可继承的属性,只需将它应用于父元素即可。

       优先级:

        定义CSS样式时,经常出现两个或更多规则应用在同一元素上,这时就会出现优先级的问题。在考虑权重时,初学者还需要注意一些特殊的情况,具体如下:

1. 继承样式的权重为0。即在嵌套结构中,不管父元素样式的权重多大,被子元素继承时,他的权重都为0,也就是说子元素定义的样式会覆盖继承来的样式。

2. 行内样式优先。应用style属性的元素,其行内样式的权重非常高,可以理解为远大于100。总之,他拥有比上面提到的选择器都大的优先级。

3. 权重相同时,CSS遵循就近原则。也就是说靠近元素的样式具有最大的优先级,或者说排在最后的样式优先级最大。

4. CSS定义了一个!important命令,该命令被赋予最大的优先级。也就是说不管权重如何以及样式位置的远近,!important都具有最大优先级。

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

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        /* 继承性:父标签和子类标签之间样式可以继承,但只限于对字体的样式更改 */
        div {
            color: white;
            width: 100px;
            height: 100px;
            display: block;
            background-color: blue;
            font-size: 25px;
        }
    </style>
</head>

<body>
    <div>
        内容
        <span>
            文本内容
        </span>
    </div>
</body>

</html>

3. CSS背景

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div {
            width: 700px;
            height: 1200px;
            /* 背景颜色 */
            background-color: aqua;
            /* 背景图片 */
            background-image: url(./imgs/01.jpg);
            /* 
                是否重复平铺
                no-repeat 不重复
                repeat-x 沿x轴重复
                repeat-y 沿y轴重复
                repeat x和y轴都重复 默认
            */
            background-repeat: no-repeat;
            /* background-repeat: repeat-x; */

            /* 
                背景图片位置
                先x后y
                可以写百分比,也可以写数字
                还可以写方位名词 ,写方位名词时不区分x和y轴
                如果只写一个方位名词,另一个默认居中
                下 bottom  上 top  左 left  右 right
            */
            /*
            background-position: 20% 30%;
            background-position: 20px 50px; */
            background-position: right;

            /* 
                设置固定和滚动
                fixed 固定  scroll 滚动 默认滚动
            */
            background-attachment: scroll;
            /* 控制图片大小,100%则填满容器 */
            background-size: 100% 100%;
        }
    </style>
</head>
<body>
    <div>

    </div>
</body>
</html>

4.盒子模型

        4.1 盒子边框
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div {
            background-color: aquamarine;
            width: 300px;
            height: 300px;
            /* 设置边框 */
            border: 10px solid;
            /* 单独设置边框,如设置上边框 */
            border-top-color: brown;
            border-top-width: 20px;
            border-top-style: solid;
            /* 同时设置上边框的宽度,风格,颜色 */
            border-top: 25px solid red;

            /* 设置四个边框 */
            border-color: black;
            border-width: 20px;
            border-style: double;
            /* 同时设置四个边框的宽度,风格,颜色 */
            border: 30px solid red;

        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>
        4.2 表格的细线边框

        之前的table表合并边框会让两个相邻的边框紧挨在一起,导致边框粗细变为两倍。只需要添加border-collapse: collapse;便可以去除重复的边框。或者是只设置外边框的左边框和下边框,在设置单元格的右边框

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

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        /* 
        table {
            border-top: 1px solid;
            border-left: 1px solid;
            border-spacing: 0px;
        }
        td {
            border-bottom: 1px solid;
            border-right: 1px solid;
        }
        */

        table,
        td {
            border: 1px solid;
            /* 合并重复边框 */
            border-collapse: collapse;
        }
    </style>
</head>

<body>
    <table width="500" align="center">
        <tr>
            <td>1</td>
            <td>1</td>
            <td>1</td>
        </tr>
        <tr>
            <td>2</td>
            <td>2</td>
            <td>2</td>
        </tr>
        <tr>
            <td>3</td>
            <td>3</td>
            <td>3</td>
        </tr>
    </table>
</body>

</html>
        4.3 圆角边框

        radius 半径 (距离)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div {
            width: 50px;
            height: 20px;
            border: 1px solid;
            /* 设置圆角边 */
            border-radius: 20%;
        }
    </style>
</head>
<body>
    <div></div>
</body>
</html>

        

4.4 内边距

        padding 属性设置内边距,指边框与内容之间的距离。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        /* a { */
        /* background-color: red; */

        /* padding-left: 0%;
            padding-top: 0%;
            padding-bottom: 0%;
            padding-right: 0%; */
        /* 对上下左右各设置10内边距 */
        /* padding: 10px; */
        /* 两个值 : 上下20   左右10 */
        /* padding: 20px 10px; */
        /* 三个值 : 上10  左右20  下30 */
        /* padding: 10px 20px 30px; */
        /* 四个值 : 上 右 下 左 */
        /* padding: 10px 20px 30px 40px; */
        /* } */

        * {
            margin: 0;
        }
        div {
            border-top: 3px solid #ff8400;
            border-bottom: 1px solid #EDEEF0;
            color: #4C4C4C;
        }

        a {
            display: inline-block;
            height: 50px;
            line-height: 50px;
            padding: 0 20px;
            color: #4C4C4C;
            text-decoration: none;
        }

        div>a:hover {
            color: #ff8400;
            background-color: #EDEEF0;
        }
    </style>
</head>
<body>
    <div>
        <a href="">登录</a><a href="">设为首页</a><a href="">手机新浪网</a><a href="">移动客户端</a>
    </div>
</body>
</html>
        4.5 外边距

        margin属性用于设置外边距。 设置外边距会在元素之间创建“空白”, 这段空白通常不能放置其他内容。

        

<!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>
        div {
            /* 文本居中 */
            text-align: center;
            width: 300px;
            height: 300px;
            background-color: aqua;
            /* 使用外边距,使盒子居中 */
            /* 取值方式同padding一样 */
            margin: 0 auto;
        }
    </style>
</head>

<body>
    <div>内容</div>
</body>

</html>
        4.5.1 外边距合并

        相邻块元素垂直外边距合并

        使用margin定义块元素的垂直外边距时,可能会出现外边距的合并。当上下相邻的两个块元素相遇时,如果上面的元素有下外边距margin-bottom,下面的元素有上外边距margin-top,则他们之间的垂直间距不是margin-bottom与margin-top之和,而是两者中的较大者。这种现象称为相邻块元素垂直外边距合并(也称为外边距塌陷)。

        

        嵌套块元素垂直外边距合并

        对于两个嵌套关系的块元素,如果父元素没有上内边距及外框,则父元素的上外边距会与子元素的上外边距发生合并,合并后的外边距为两者中的较大者,即使父元素的上外边距为0,也会发生合并。

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

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

相关文章

接口测试实战--mock测试、日志模块

一、mock测试 在前后端分离项目中,当后端工程师还没有完成接口开发的时候,前端开发工程师利用Mock技术,自己用mock技术先调用一个虚拟的接口,模拟接口返回的数据,来完成前端页面的开发。 接口测试和前端开发有一个共同点,就是都需要用到后端工程师提供的接口。所以,当…

【LeetCode:124. 二叉树中的最大路径和 + 二叉树+递归】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

【GAD】动态图的半监督异常检测

SAD: Semi-Supervised Anomaly Detection on Dynamic Graphs Limitations of existing semi-supervised methodsContributionRelated workMethodDeviation Networks with Memory BankContrastive Learning for Unlabeled Samples Experiments少样本评估2D t-SNE可视化消融实验 …

Machine Vision Technology:Lecture1 Introduction

Machine Vision Technology&#xff1a;Lecture1 Introduction What kind of information can we extract from an image?Syllabus organized fromRoadmap路线图 计算机视觉&#xff08;本科&#xff09; 北京邮电大学 鲁鹏 What kind of information can we extract from an …

一张图读懂人工智能

一、生成人工智能的概念和应用&#xff0c;以及如何使用大型语言模型进行聊天和创造原创内容。这项技术将会对人类和企业产生深远影响。 计算机获得学习、思考和交流的能力&#xff0c;被称为生成人工智能。生成人工智能可以立即获得人类所有知识的总和&#xff0c;并回答任何…

OSCP靶场--Shenzi

OSCP靶场–Shenzi 考点(1.目录扫描&#xff1a;可以尝试使用多个工具(扫描不出来任何东西&#xff0c;可以结合机器名拼接url 2.WP 目标插入webshell getshell 3.windows环境AlwaysInstallElevated提权) 1.nmap扫描 ┌──(root㉿kali)-[~/Desktop] └─# nmap -sV -sC -p- …

C++编译相关学习笔记

1.编译是什么&#xff1f; 简单的说&#xff0c;就是将文本文件转化为obj对象。详细的说包含以下三个步骤&#xff1a; &#xff08;1&#xff09;预处理代码。常用的预处理语句包含#include、if、ifdef、pragma。经过这一阶段 main.cpp变为main.i 这种文件里的内容就是在原文…

vue中使用prettier

前言&#xff1a;prettier是一款有态度的代码格式化工具&#xff0c;它可以集成在IDE中&#xff0c;如VS Code、Web Storm等&#xff0c;也可以安装到我们开发的项目里面。本文主要讲解在Vue中集成prettier的过程&#xff0c;可以便于代码检测和格式化。 prettier官网 从官网的…

树的括号表示法

1.括号表示法构造一棵树 下面的代码都使用下面的图测试&#xff1a; 这颗树的前序遍历是 [A,B,D,G,C,E,F,H] 为了程序的完整性&#xff0c;我想先构建一颗上述树&#xff0c;知识匮乏的我只能使用括号表示法构造: “A(B(,D(G,)),C(E,F(H,)))” 1.用一个类表示树的节点 …

高效降本|深度案例解读 Koupleless 在南京爱福路的落地实践

文&#xff5c;祁晓波 南京爱福路汽车科技基础设施负责人 主要研究微服务、可观测、稳定性、研发效能、Java 中间件等领域。 本文 4812 字 阅读 12 分钟 Koupleless&#xff08;原 SOFAServerless&#xff09;自 2023 年开源以来已经落地了若干企业&#xff0c;这些企业也见证了…

C++之标准库中string的底层实现方式

目录 1、Eager Copy(深拷贝) 2、COW(Copy-On-Write)写时复制 2.1写时复制的实现 3、SSO&#xff08;Short String Optimization)短字符串优化 4、最佳策略 5、线程安全性 我们都知道&#xff0c; std::string的一些基本功能和用法了&#xff0c;但它底层到底是如何实现的…

基于SSM SpringBoot vue物流配送人员管理系统

基于SSM SpringBoot vue物流配送人员管理系统 系统功能 登录注册 个人中心 员工管理 考勤信息管理 小区信息管理 打卡信息管理 出勤统计管理 派单信息管理 工资结算管理 任务统计管理 开发环境和技术 开发语言&#xff1a;Java 使用框架: SSM(Spring SpringMVC Mybaits)或…

黑马c++ STL部分 笔记(3) deque容器

双端数组&#xff0c;可以对头端进行插入删除操作 deque与vector区别&#xff1a; vector对于头部的插入删除效率低&#xff0c;数据量越大&#xff0c;效率越低&#xff08;每次头插&#xff0c;后面的元素就往后移&#xff09; deque相对而言&#xff0c;对头部的插入删除速…

Java Web(十)--jQuery

介绍 官网文档&#xff1a;jQuery 教程 jQuery API 中文文档 | jQuery API 中文在线手册 | jquery api 下载 | jquery api chm 下载地址&#xff1a;https://jquery.com/download/%20jQuery jQuery 是一个快速的&#xff0c;简洁的 javaScrip工具库&#xff0c;使用户能更方…

尝鲜18倍速大模型Groq和世界第二AI Mistral(Le Chat)

01 尝鲜 中午,一边吃饭,一边尝试一下最新的AI:Groq,它使用了重新设计的LPU,据说比英伟达的GPU快了18倍。 运行了开源的Mixtral-8x7b模型,屏幕上的文字回复几乎是瞬间的,那种速度感,让人心跳加速。 接着,我尝试了来自欧洲的新贵——Mistral AI的Le Chat。 这个三天前…

前端同时传递文件数据+非文件数据,前后端解决方案

之前录制视频《文件上传组件》的时候有位观众提了个问题&#xff0c;如果我没有理解错的话&#xff0c;应该就是前后同时传递文件数据 非文件数据&#xff0c;前后端数据该如何接收&#xff0c;这里我给出我自己的解决方案 tip:下文在编写前端代码的时候&#xff0c;用到了这篇…

基于SpringBoot的民宿租赁管理系统

文章目录 项目介绍主要功能截图&#xff1a;部分代码展示设计总结项目获取方式 &#x1f345; 作者主页&#xff1a;超级无敌暴龙战士塔塔开 &#x1f345; 简介&#xff1a;Java领域优质创作者&#x1f3c6;、 简历模板、学习资料、面试题库【关注我&#xff0c;都给你】 &…

生成voc格式数据集

数据集存放格式&#xff1a;&#xff08;Annotations文件夹放标注的xml文件&#xff0c;JPEGImages文件夹放标注的图片&#xff09; 运行代码&#xff1a; import os import random import xml.etree.ElementTree as ETimport numpy as npdef get_classes(classes_path):with …

nacos开启鉴权+springboot配置用户名密码

nacos默认没有开启鉴权&#xff0c;springboot无需用户名密码即可连接nacos。从2.2.2版本开始&#xff0c;默认控制台也无需登录直接可进行操作。 因此本文记录一下如何开启鉴权&#xff0c;基于nacos2.3.0版本。 编辑nacos服务端的application.properties&#xff1a; # 开…

期货开户保证金保障市场正常运转

期货保证金是什么&#xff1f;在期货市场上&#xff0c;采取保证金交易制度&#xff0c;投资者只需按期货合约的价值&#xff0c;交一定比率少量资金即可参与期货合约买卖交易&#xff0c;这种资金就是期货保证金。期货保证金&#xff08;以下简称保证金〕按性质与作用的不同。…