04-CSS

news2024/11/18 17:25:18

一、其他样式


1、圆角边框

在 CSS3 中,新增了圆角边框样式,这样我们的盒子就可以变圆角了。

border-radius 属性用于设置元素的外边框圆角。

语法:

border-radius:length;
  • 参数值可以为数值或百分比的形式

  • 如果是正方形,想要设置为一个圆,把数值修改为高度或者宽度的一半即可,或者直接写为 50%

  • 该属性是一个简写属性,可以跟四个值,分别代表左上角、右上角、右下角、左下角

  • 分开写:border-top-left-radius、border-top-right-radius、border-bottom-right-radius 和border-bottom-left-radius

  • 兼容性 ie9+ 浏览器支持, 但是不会影响页面布局,可以放心使用

2、盒子阴影

CSS3 中新增了盒子阴影,我们可以使用 box-shadow 属性为盒子添加阴影。语法:

box-shadow: h-shadow v-shadow blur spread color inset;

注意

1. 默认的是外阴影(outset), 但是不可以写这个单词,否则造成阴影无效

2.盒子阴影不占用空间,不会影响其他盒子排列。

3、文字阴影

在 CSS3 中,我们可以使用 text-shadow 属性将阴影应用于文本。语法:

text-shadow: h-shadow v-shadow blur color;

二、浮动


1、传统网页布局的三种方式

CSS 提供了三种传统布局方式(简单说,就是盒子如何进行排列顺序):

  • 普通流(标准流)

  • 浮动

  • 定位

这三种布局方式都是用来摆放盒子的,盒子摆放到合适位置,布局自然就完成了。

注意:实际开发中,一个页面基本都包含了这三种布局方式(后面移动端学习新的布局方式) 。

2、标准流(普通流/文档流)

所谓的标准流: 就是标签按照规定好默认方式排列

  1. 块级元素会独占一行,从上向下顺序排列。常用元素:div、hr、p、h1~h6、ul、ol、dl、form、table

  1. 行内元素会按照顺序,从左到右顺序排列,碰到父元素边缘则自动换行。常用元素:span、a、i、em 等

以上都是标准流布局,我们前面学习的就是标准流,标准流是最基本的布局方式。

  1. 为什么需要浮动?

提问:我们用标准流能很方便的实现如下效果吗?

1. 如何让多个块级盒子(div)水平排列成一行?

比较难,虽然转换为行内块元素可以实现一行显示,但是他们之间会有大的空白缝隙,很难控制。

2. 如何实现两个盒子的左右对齐?

总结: 有很多的布局效果,标准流没有办法完成,此时就可以利用浮动完成布局。 因为浮动可以改变元素标签默认的排列方式.

浮动最典型的应用:可以让多个块级元素一行内排列显示。

网页布局第一准则:多个块级元素纵向排列找标准流,多个块级元素横向排列找浮动

4、什么是浮动?

float 属性用于创建浮动框,将其移动到一边,直到左边缘或右边缘触及包含块或另一个浮动框的边缘。

语法:

选择器 { float: 属性值; }

选择器 { float: 属性值; }

5、浮动特性

加了浮动之后的元素,会具有很多特性,需要我们掌握的.

  1. 浮动元素会脱离标准流(脱标:浮动的盒子不再保留原先的位置)

  1. 如果多个盒子都设置了浮动,则它们会按照属性值一行内显示并且顶端对齐排列。

注意:

浮动的元素是互相贴靠在一起的(不会有缝隙),如果父级宽度装不下这些浮动的盒子,多出的盒子会另起一行对齐。

3、浮动的元素会具有行内块元素的特性

任何元素都可以浮动。不管原先是什么模式的元素,添加浮动之后具有行内块元素相似的特性。

  • 如果块级盒子没有设置宽度,默认宽度和父级一样宽,但是添加浮动后,它的大小根据内容来决定

  • 浮动的盒子中间是没有缝隙的,是紧挨着一起的

  • 行内元素同理

6、浮动元素经常和标准流父级搭配使用

为了约束浮动元素位置, 我们网页布局一般采取的策略是:

先用标准流父元素排列上下位置, 之后内部子元素采取浮动排列左右位置. 符合网页布局第一准侧

案例:小米布局案例

三、常见网页布局


1、

2、

3、

浮动布局注意点

1、浮动和标准流的父盒子搭配。

先用标准流的父元素排列上下位置, 之后内部子元素采取浮动排列左右位置

2、一个元素浮动了,理论上其余的兄弟元素也要浮动。

一个盒子里面有多个子盒子,如果其中一个盒子浮动了,其他兄弟也应该浮动,以防止引起问题。

浮动的盒子只会影响浮动盒子后面的标准流,不会影响前面的标准流.

四、清除浮动


1、为什么需要清除浮动?

由于父级盒子很多情况下,不方便给高度,但是子盒子浮动又不占有位置,最后父级盒子高度为 0 时,就会影响下面的标准流盒子。

由于浮动元素不再占用原文档流的位置,所以它会对后面的元素排版产生影响

2、清除浮动本质

清除浮动的本质是清除浮动元素造成的影响:浮动的子标签无法撑开父盒子的高度

注意:

  • 如果父盒子本身有高度,则不需要清除浮动

  • 清除浮动之后,父级就会根据浮动的子盒子自动检测高度。

  • 父级有了高度,就不会影响下面的标准流了

3、清除浮动样式

语法:

选择器{clear:属性值;} 

我们实际工作中, 几乎只用 clear: both;

清除浮动的策略是: 闭合浮动.

4、清除浮动的多种方式

4.1、额外标签法

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

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>清除浮动之额外标签法</title>
    <style>
        .box {
            width: 800px;
            border: 1px solid blue;
            margin: 0 auto;
        }

        .damao {
            float: left;
            width: 300px;
            height: 200px;
            background-color: purple;
        }

        .ermao {
            float: left;
            width: 200px;
            height: 200px;
            background-color: pink;
        }

        .footer {
            height: 200px;
            background-color: black;
        }

        .clear {
            clear: both;
        }
    </style>
</head>

<body>
    <div class="box">
        <div class="damao">大毛</div>
        <div class="ermao">二毛</div>
        <div class="ermao">二毛</div>
        <div class="ermao">二毛</div>
        <div class="ermao">二毛</div>
        <div class="clear"></div>
        <!-- 这个新增的盒子要求必须是块级元素不能是行内元素 -->
        <!-- <span class="clear"></span> -->
    </div>
    <div class="footer"></div>

</body>

</html>

额外标签法也称为隔墙法,是 W3C 推荐的做法。

使用方式:

  • 额外标签法会在浮动元素末尾添加一个空的标签。

例如 <divstyle="clear:both"></div>,或者其他标签(如<br/>等)。

优点: 通俗易懂,书写方便

缺点: 添加许多无意义的标签,结构化较差

注意: 要求这个新的空标签必须是块级元素。

总结:

1、清除浮动本质是?

清除浮动的本质是清除浮动元素脱离标准流造成的影响

2、清除浮动策略是?

闭合浮动. 只让浮动在父盒子内部影响,不影响父盒子外面的其他盒子.

3、额外标签法?

隔墙法, 就是在最后一个浮动的子元素后面添

4、加一个额外标签, 添加 清除浮动样式.

实际工作可能会遇到,但是不常用

4.2、父级添加 overflow 属性

可以给父级添加 overflow 属性,将其属性值设置为 hidden、 auto 或 scroll 。

例如:

overflow:hidden | auto | scroll;

优点:代码简洁

缺点:无法显示溢出的部分

注意:是给父元素添加代码

4.3、父级添加after伪元素

:after 方式是额外标签法的升级版。给父元素添加:

.clearfix:after {  
   content: ""; 
   display: block; 
   height: 0; 
   clear: both; 
   visibility: hidden;  
 } 
.clearfix {  /* IE6、7 专有 */
   *zoom: 1;
 }   

优点:没有增加标签,结构更简单

缺点:照顾低版本浏览器

代表网站: 百度、淘宝网、网易等

4.4、父级添加双伪元素

给父元素添加

.clearfix:before,.clearfix:after {
   content:"";
   display:table; 
 }
.clearfix:after {
   clear:both;
 }
.clearfix {
    *zoom:1;
 }   

优点:代码更简洁

缺点:照顾低版本浏览器

代表网站:小米、腾讯等

5、 总结

为什么需要清除浮动?

  1. 父级没高度。

  1. 子盒子浮动了。

  1. 影响下面布局了,我们就应该清除浮动了。

五、 CSS属性书写顺序(重点)


生活中衡量一个人有气质:

穿着打扮 举止言行 等等

编程中如何衡量一个人的代码能力

规范标准 优雅高质量 等等 一个词形容 专业 从代码中看出是否有经验..

建议遵循以下顺序:

  1. 布局定位属性:display / position / float / clear / visibility / overflow(建议 display 第一个写,毕竟关系到模式)

  1. 自身属性:width / height / margin / padding / border / background

  1. 文本属性:color / font / text-decoration / text-align / vertical-align / white- space / break-word

  1. 其他属性(CSS3):content / cursor / border-radius / box-shadow / text-shadow / background:linear-gradient …

举例:

 .jdc {
    display: block;
    position: relative;
    float: left;
    width: 100px;
    height: 100px;
    margin: 0 10px;
    padding: 20px 0;
    font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif;
    color: #333;
    background: rgba(0,0,0,.5);
    border-radius: 10px;
 } 

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

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

相关文章

IBM ILOG CPLEX Optimization Studio 22.1 Crack

BM ILOG CPLEX 优化工作室 建立和解决复杂的优化模型以确定最佳行动 通过数据科学改变您的业务决策 IBM ILOG CPLEX Optimization Studio 使用决策优化技术来优化您的业务决策&#xff0c;快速开发和部署优化模型&#xff0c;并创建可显着改善业务成果的真实应用程序。 如何&…

ROS 摄像头的使用

参考&#xff1a; ​ youtubeArticulated Robotics ​ 作者Josh Newans博客 建议&#xff1a; 这个只是我的看法&#xff0c;强烈建议看原视频或博客 png&#xff1a;无损压缩 jpeg&#xff1a;有损压缩 Driver Node 负责连接硬件设备&#xff0c;读取摄像头数据"ima…

Learning C++ No.13【STL No.3】

引言&#xff1a; 北京时间&#xff1a;2023/3/7/15:33&#xff0c;还有27分钟就要去上课啦&#xff01;刚刚把最近因为考试原因欠的课给还干净了&#xff0c;已经准备好今天晚上接受航哥的毒打了&#xff0c;毒打就毒打&#xff0c;咱不怕&#xff0c;只要不欠钱&#xff0c;…

小黑子—Java从入门到入土过程:第一章

Java零基础入门1.0Java系列第一章1. cmd2. 利用cmd打开qq并配置环境变量3. Java概述和学习方法4. JDK下载和安装5. hello world 小案例6. bug常见小问题7. 环境变量8. Notepad9. java 语言的发展10. java 能干什么10.1 javaSE10.2 javaME10.3 javaEE11. java为什么火12. java为…

什么是激励能力?HR人才测评

什么是激励能力&#xff1f;激励能力主要是针对管理型岗位而言的&#xff0c;尤其是团队型管理&#xff0c;既要督导团队成员&#xff0c;更需要掌握激励下属的方法和技巧。在HR人才测评系统中&#xff0c;对于管理型岗位的人才测评指标&#xff0c;通常也会包含激励能力&#…

蓝牙耳机哪款佩戴舒服?2023佩戴最舒适蓝牙耳机

由于每天坐在电脑桌前的时间比较长&#xff0c;需要音乐和运动调剂一下自己&#xff0c;而说到与蓝牙耳机&#xff0c;大家更加关注的是音质和佩戴舒适度吧&#xff0c;作为一位音乐发烧友&#xff0c;使用过的耳机数不胜数&#xff0c;接下来跟大家分享一下我的体验感受。 第…

关于供应链,一文教你全面了解什么是供应链

什么是供应链&#xff1f;供应链是指产品生产和流通过程中所涉及的原材料供应商、生产商、分销商、零售商以及最终消费者等成员通过与上游、下游成员的连接 (linkage) 组成的网络结构。也即是由物料获取、物料加工、并将成品送到用户手中这一过程所涉及的企业和企业部门组成的一…

CH4-流程控制之for循环结构: 打印三3种三角形图案(代码+详细注释+知识点总结

建议学习方法&#xff1a;不会可以参考代码和视频进行学习&#xff0c;学会举一反三&#xff0c;三角形很多种变形题目&#xff0c;学会自己敲代码&#xff1b; 本文章内容建议参考后&#xff0c;自己默写和理解敲代码&#xff01;不要偷懒哦&#xff01; 刚刚起步&#xff0c;…

AM5728(AM5708)开发实战之调试DP83822 LED

一 LED寄存器分析 MLEDCR即Multi-LED Control Register,地址为0x0025 MLEDCR[1:0]设置MLED路由功能,具体如下所示: 0x00表示MLED功能路由到COL(PIN29) 0x03表示MLED功能路由到LED_0(PIN17) 从上述信息可知,DP83822芯片只有COL(PIN29)和LED_0(PIN17)才可以配置成MLED功能 …

手把手演示Ngnix+Tomcat实现动静分离

前言 大家好&#xff0c;又见面了&#xff0c;我是沐风晓月&#xff0c;本文首发于csdn作者:我是沐风晓月 的【运维系列-系统服务与架构】专栏&#xff0c;专栏还在持续更新中&#xff0c;欢迎关注。 此专栏是沐风晓月对操作系统中常见的服务进行总结&#xff0c;希望能够加深…

【专项训练】泛型递归、树的递归

递归和循环没有明显的边界! 不要进行人肉递归! 找最近重复子问题,直接写递归! 数学归纳法思维:1,2,…… 70. 爬楼梯 https://leetcode.cn/problems/climbing-stairs/ 互斥,且加在一起是全部答案! 动态规划法:用数组做递推,就是动态规划!!! class Solution

k8s-Kubernetes--pod管理-基本操作

文章目录前言一、简介一些简单的入门小命令二、pod基本操作1.pod创建2.pod删除&#xff0c;查看日志三、service和deployment(控制器)1.deployment基本操作2.Pod扩容与缩容3.expose暴露端口3.1ClusterIP默认类型暴露端口3.2 NodePort类型暴露端口4.升级pod镜像/应用版本5.回滚6…

萤火虫算法优化SVM变压器故障分类预测,fa-svm分类预测,libsvm参数优化

目录 支持向量机SVM的详细原理 SVM的定义 SVM理论 Libsvm工具箱详解 简介 参数说明 易错及常见问题 SVM应用实例,基于fa-svm分类预测 代码 结果分析 展望 支持向量机SVM的详细原理 SVM的定义 支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型是…

Android Studio无法启动,Failed to create JVM:error code -1. JVM Path 完美解决方案

一、背景 很久没有启动过Android studio了,今天突然需要,却打不开了,报错如下,因此记录下我的解决办法,希望能帮到更多朋友! 二、过程 刚开始以为时java的环境变量问题,配置好java环境变量依然不行,所以大家不必折腾了。 后面经过一片博文的启发,https://blog.csdn.ne…

信息系统分析与设计——信息、管理与信息系统

&#x1f31f;所属专栏&#xff1a;信息系统分析与设计&#x1f414;作者简介&#xff1a;rchjr——五带信管菜只因一枚&#x1f62e;前言&#xff1a;该系列将持续更新信息系统分析与设计课程的相关学习笔记&#xff0c;欢迎和我一样的小白订阅&#xff0c;一起学习共同进步~&…

SpringBoot学习笔记(四)Web开发

在之前我们的项目都是以jar包结尾的&#xff0c;没有放webapp的地方。springboot最大的特点&#xff1a;自动装配&#xff0c;创建应用&#xff0c;选择模块导入starter&#xff0c;只需要专注于业务代码springboot到底帮我们配置了什么&#xff0c;我们能不能修改&#xff1f;…

【微信小程序】-- 案例 - 本地生活(列表页面)(三十)

&#x1f48c; 所属专栏&#xff1a;【微信小程序开发教程】 &#x1f600; 作  者&#xff1a;我是夜阑的狗&#x1f436; &#x1f680; 个人简介&#xff1a;一个正在努力学技术的CV工程师&#xff0c;专注基础和实战分享 &#xff0c;欢迎咨询&#xff01; &…

什么是图神经网络?

什么是图神经网络&#xff1f; GNN 将深度学习的预测能力应用于丰富的数据结构&#xff0c;这些数据结构将对象及其关系描述为图中由线连接的点。 当两种技术融合时&#xff0c;它们可以创造出新奇而美妙的东西——比如手机和浏览器融合在一起打造智能手机。 如今&#xff0…

Java使用Springboot+Mybatis构建第一个项目

一、java安装&#xff1a;安装 Java1.8环境 maven3.6.1环境 Gradle-6.9.1环境 IntelliJ IDEA 2022.1.3 下载旗舰版&#xff08;因为包含springboot&#xff09;二、项目构建-数据库是sqlserver&#xff1a;1、打开idea&#xff0c;点击File->New->Project&#xff0c;选中…

华为OD机试题,用 Java 解【英文输入法】问题

华为Od必看系列 华为OD机试 全流程解析+经验分享,题型分享,防作弊指南)华为od机试,独家整理 已参加机试人员的实战技巧华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典使用说明 参加华为od机试,一定要注意不…