CSS【常用CSS样式、盒子模型、定位、浮动 、扩展样式】--学习JavaEE的day46

day46

CSS

练习

页面实现:
表单练习
分析:
分析
未优化:
未优化
优化:
优化
参考代码:(包含样式优化–选择器+CSS属性)

先写上table方便实现,之后再去除即可
name没有服务器,可暂时不写

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><style>.right{text-align: right;}span{font-size: 11px;color: gray;}#sub{background-color: green;color: white;border: green;border-radius: 3px;}/* 设置垂直居中,也叠加效果*/.xxx{display: flex; /* 设置弹性盒*/justify-content: center flex-start;}</style></head><body><form action="#" method="post"><table width="600px"><tr><td class="right"><span>邮件地址</span></td><td><input type="text" placeholder="建议使用手机号注册" />@<select><option>163</option><option>QQ</option><option>sina</option></select></td></tr><tr><td></td><td><span>6~18字符,可使用字母、数字、下划线,需以字母开头</span></td></tr><tr><td class="right"><span>密码</span></td><td><input type="password" /></td></tr><tr><td></td><td><span>6~16个字符,区分大小写</span></td></tr><tr><td class="right"><span>确认密码</span></td><td><input type="password" /></td></tr><tr><td></td><td><span>再次确认密码</span></td></tr><tr><td class="right"><span>手机号</span></td><td><input type="text" /></td></tr><tr><td></td><td><span>忘记密码时,可以通过该手机号码快速找回密码</span></td></tr><tr><td class="right"><span>验证码</span></td><td class="xxx"><input type="text" /><img src="https://www.xiaoyuxitong.com/uploads/allimg/180816/214SMU3-0.png" width="100px" height="20px" /><a href="#">看不清楚?换张图片</a></td></tr><tr><td></td><td><span>请填写图片中的字符,不区分大小写</span></td></tr><tr><td></td><td><button>免费获取验证码</button></td></tr><tr><td class="right"><span>短信验证码</span></td><td><input type="text" /></td></tr><tr><td></td><td><span>请查收手机短信,并填写短信中的验证码</span></td></tr><tr><td></td><td><input type="checkbox" checked="checked" /><span>同意<a href="#">"服务条款"</a><a href="#">"隐私权相关政策"</a></span></td></tr><tr><td></td><td><input id="sub" type="submit" value="立即注册" /></td></tr></table></form></body>
</html>

常用CSS样式

常用CSS属性

1.字体属性

​ 属性名称

​ font-family(字体)

​ font-size(大小)

​ font-style(风格)

​ ---- normal标准样式

​ ---- italic斜体

​ ---- oblique倾斜

​ ---- inherit从父类继承的字体样式

​ font-weight(字体加粗)

​ ----normal标准样式

​ ----bold粗体

​ ----bolder更粗

​ ----lighter更细

2.文本属性

​ 属性名称

​ letter-spacing(字母间隔)

​ text-decoration(划线修饰)

​ text-align(文本对齐方式)

​ text-indent(文本缩进)

​ line-height(行高)

3.背景

​ 属性名称

​ background-color

​ background-image

​ background-repeat(平铺方式)

4.边框

​ 属性名称

​ border-bottom

​ solid(实线)

​ dashed(虚线)

​ double(双实线)

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><style type="text/css">p{/*设置字体样式-------------------------------------------*/font-family: "微软雅黑";/*设置字体*/font-size: 50px;/*设置字体大小*/font-style: italic;/*设置字体样式 - 倾斜*/font-weight: bold;/*设置字体粗细*//*设置文本样式-------------------------------------------*/letter-spacing: 20px;/*设置文本间隔*/text-decoration: underline;/*设置文本划线 - 下划线*/text-align: center;/*设置文本对齐方式 -- 居中*/color: white;/*设置文本颜色*//*设置背景样式 --------------------------------------------*/background-color: red;/*设置背景颜色*/}a{text-decoration: none;/*设置字体划线 - 去除划线*/}div{width: 500px;height: 500px;background-image: url(../img/波多野结衣.jpg);/*设置背景图片*/background-repeat: repeat-y;/*设置平铺方式:沿y轴平铺*/border: orange 1px solid;/*设置边框 - 颜色,粗细,实线*/}</style></head><body><p>学无止境</p><a href="#">百度一下</a><br /><div></div></body>
</html>

运行:
在这里插入图片描述

盒子模型

CSS 框模型 (Box Model) 规定了元素框处理元素内容、内边距、边框 和 外边距 的方式。
盒子模型: 用于页面分区
盒子模型理解图

浏览器兼容性
一旦为页面设置了恰当的 DTD,大多数浏览器都会按照上面的图示来呈现内容。然而 IE 5 和 6 的呈现却是不正确的。根据 W3C 的规范,元素内容占据的空间是由 width 属性设置的,而内容周围的 padding 和 border 值是另外计算的。不幸的是,IE5.X 和 6 在怪异模式中使用自己的非标准模型。这些浏览器的 width 属性不是内容的宽度,而是内容、内边距和边框的宽度的总和。
虽然有方法解决这个问题。但是目前最好的解决方案是回避这个问题。也就是,不要给元素添加具有指定宽度的内边距,而是尝试将内边距或外边距添加到元素的父元素和子元素。
为了兼容IE老版本,一句话,能用外边距就用外边距

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><style type="text/css">div{width: 200px;height: 200px;border: orange 1px solid;/** 	margin-top: 50px;设置外边距 - 上边距margin-left: 50px;设置外边距 - 左边距margin-right: 50px;;设置外边距 - 右边距margin-bottom: 50px;;设置外边距 - 下边距*/margin: 50px;}			</style></head><body><div>学无止境</div></body>
</html>
样式2:内边距<style type="text/css">div{width: 200px;height: 200px;border: orange 1px solid;/** 注意:能不使用内边距就不使用,因为老版本的IE浏览器不支持,而且会把盒子撑变形* * 	padding-top: 50px;padding-left: 50px;padding-right: 50px;padding-bottom: 50px; */padding: 50px;/*设置内边框:上下左右都是*/}			</style>
样式3:水平居中,垂直居中需要用到定位<style type="text/css">div{width: 200px;height: 200px;border: orange 1px solid;margin: 0 auto;/*水平居中*/}			</style>

运行:
盒子模型运行

定位

CSS 定位 (Positioning) 属性允许你对元素进行定位。

定位的基本思想很简单,它允许你定义元素框相对于其正常位置应该出现的位置,或者相对于父元素、另一个元素甚至浏览器窗口本身的位置。

CSS 定位机制

CSS 有三种基本的定位机制:普通流、浮动和绝对定位。

除非专门指定,否则所有框都在普通流中定位。也就是说,普通流中的元素的位置由元素在 (X)HTML 中的位置决定。

块级框从上到下一个接一个地排列,框之间的垂直距离是由框的垂直外边距计算出来。

相对定位

相对定位:相对于原有的位置发生改变,并且保留原有的空间位置。

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><style type="text/css">#manager{border: orange 1px solid;margin-top: 200px;}#box01{width: 100px;height: 100px;border: red 1px solid;}#box02{width: 100px;height: 100px;border: green 1px solid;position: relative;/*相对定位:保留原有位置,相对于原有位置进行位移*/top: 50px;/*距离定位位置上边缘50px*/left: 50px;/*距离定位位置左边缘50px*/}#box03{width: 100px;height: 100px;border: blue 1px solid;}</style></head><body><div id="manager"><div id="box01"></div><div id="box02"></div><div id="box03"></div></div></body>
</html>

运行:
相对定位

绝对定位

注意:不能简单认为是根据body标签位移

绝对定位相对于他有position属性的父级元素进行定位,如果父级元素没有postion定位,那么就找父级的父级,直到向上找到position定位为止,如果他向上找不到position定位,那么就以最外层的body进行定位。

并且绝对定位不会保留原有的位置空间。

z-index属性,确定层级大小,用来设定哪一个盒子在上面,越大越在上面

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><style type="text/css">#manager{border: orange 1px solid;margin-top: 200px;position: relative;}#box01{width: 100px;height: 100px;border: red 1px solid;}#box02{width: 100px;height: 100px;border: green 1px solid;position: absolute;/*绝对定位:不保留原有位置,向上找寻父级标签,判断父级标签是否有position属性,如果有就按照父级标签进行位移,如果没有就继续向上找寻父级标签,直到body标签为止,就按照body标签进行位移*/top: 50px;/*距离定位位置上边缘50px*/left: 50px;/*距离定位位置左边缘50px*/}#box03{width: 100px;height: 100px;border: blue 1px solid;}</style></head><body><div id="manager"><div id="box01"></div><div id="box02"></div><div id="box03"></div></div></body>
</html>

运行:
绝对定位

固定定位

根据前面的锚链接改进,加一个置顶功能

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><style type="text/css">div{position: fixed;/*固定定位:将元素固定到页面的某个位置*/top: 80%;left: 90%;}</style></head><body><div><a href="#top">置顶</a></div><a name="top"></a><!--下锚点--><a href="#new01">法治</a><!--定位到锚点处--><a href="#new02">国际</a><!--定位到锚点处--><a href="#new03">娱乐</a><!--定位到锚点处--><a name="new01"></a><!--下锚点--><h1>法治新闻 - 为何半夜母猪频频惨叫</h1><h1>法治新闻 - 为何八旬老太以外怀孕</h1><h1>法治新闻 - 是人性的溟灭</h1><h1>法治新闻 - 是道德的沦丧</h1><h1>法治新闻</h1><h1>法治新闻</h1><h1>法治新闻</h1><h1>法治新闻</h1><h1>法治新闻</h1><h1>法治新闻</h1><h1>法治新闻</h1><h1>法治新闻</h1><h1>法治新闻</h1><h1>法治新闻</h1><h1>法治新闻</h1><h1>法治新闻</h1><h1>法治新闻</h1><h1>法治新闻</h1><a name="new02"></a><!--下锚点--><h1>国际新闻</h1><h1>国际新闻</h1><h1>国际新闻</h1><h1>国际新闻</h1><h1>国际新闻</h1><h1>国际新闻</h1><h1>国际新闻</h1><h1>国际新闻</h1><h1>国际新闻</h1><h1>国际新闻</h1><h1>国际新闻</h1><h1>国际新闻</h1><h1>国际新闻</h1><h1>国际新闻</h1><h1>国际新闻</h1><h1>国际新闻</h1><a name="new03"></a><!--下锚点--><h1>娱乐新闻</h1><h1>娱乐新闻</h1><h1>娱乐新闻</h1><h1>娱乐新闻</h1><h1>娱乐新闻</h1><h1>娱乐新闻</h1><h1>娱乐新闻</h1><h1>娱乐新闻</h1><h1>娱乐新闻</h1><h1>娱乐新闻</h1><h1>娱乐新闻</h1><h1>娱乐新闻</h1><h1>娱乐新闻</h1><h1>娱乐新闻</h1><h1>娱乐新闻</h1><h1>娱乐新闻</h1><h1>娱乐新闻</h1></body>
</html>

运行:
固定定位

浮动

浮动可以帮助我们更好进行页面排版,使原本竖着排列的盒子可以横向排列起来。

副作用:因为浮动会使元素脱离了标准的文档流,从而导致父级元素无法被撑开。

解决办法:添加空盒子

在被浮动的元素后面,添加一个空的div,并且设置一个clear类,并付给该div.clear{clear:both;}

普通流【包含的普通流变成浮动流就管不住,利用清除浮动效果就能解决】

浮动1

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><style type="text/css">#manager{border: orange 1px solid;}#box01{width: 100px;height: 100px;border: red 1px solid;float: left;}#box02{width: 100px;height: 100px;border: green 1px solid;float: left;}.clear{clear: both;/*清除浮动效果*/}</style></head><body><div id="manager"><div id="box01"></div><div id="box02"></div><div class="clear"></div></div></body>
</html>

运行:形象概述:最初【一个大div包含两个小div】–>再是【将里面的两个小div设置浮动,大div管不住小div】–>最后【在里面加一个小div用于去除同级别的浮动效果,大div又能管住小div】
浮动1

浮动2

浮动成左右两边

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><style type="text/css">#manager{border: orange 1px solid;}#box01{width: 100px;height: 100px;border: red 1px solid;float: left;}#box02{width: 100px;height: 100px;border: green 1px solid;float: right;}.clear{clear: both;/*清除浮动效果*/}</style></head><body><div id="manager"><div id="box01"></div><div id="box02"></div><div class="clear"></div></div></body>
</html>

运行:
浮动2

浮动3

浮动成左右两半

如何查看:两种方式

  1. 设置背景颜色:background-color:
  2. 查看元素在浏览器检查代码
<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><style type="text/css">#manager{border: orange 1px solid;}#box01{width: 50%;height: 100px;float: left;}#box02{width: 50%;height: 100px;float: right;}.clear{clear: both;/*清除浮动效果*/}</style></head><body><div id="manager"><div id="box01"></div><div id="box02"></div><div class="clear"></div></div></body>
</html>

运行:注意这里是去除了box01、box02的边框,不然会出现换行
浮动3有边框
浮动3

扩展样式

渐变色找到图片最下方的一个色点【末尾加上】会自动填充

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><style type="text/css">body{background: url(../img/渐变色.jpg) center top repeat-x #EAF4FF;}input{width: 100px;height: 50px;color: white;font-weight: bolder;background-color: orange;border-radius: 5px;/*圆角属性*/box-shadow: 10px 10px 5px gainsboro;/*添加按钮阴影 X轴偏移量 Y轴偏移量 阴影模糊半径*/text-shadow: 5px 5px 5px black;/*添加文本阴影 X轴偏移量 Y轴偏移量 阴影模糊半径*/}img{border-radius: 50%;}</style></head><body><input type="button" value="普通按钮" /><br /><img src="../img/波多野结衣.jpg" width="100px" height="100px" /></body>
</html>

运行:
扩展样式

小结

css表单练习

常用CSS样式

盒子模型

定位

浮动

扩展样式

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

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

相关文章

智能驾驶核心伪代码

智能驾驶是一个复杂且广泛的领域&#xff0c;涉及多个子系统和组件&#xff0c;包括但不限于感知、定位、决策规划、控制等。由于智能驾驶系统的复杂性&#xff0c;不可能简单地提供一个通用的代码片段。然而&#xff0c;我可以提供一个简单的示例&#xff0c;展示如何使用一些…

mysql - explain执行计划

explain执行计划 explain是mysql中一关键字&#xff0c;用于查看执行计划, 模拟执行器执行sql查询语句, 从而分析sql语句或表结构的性能瓶颈或优化方向。 explain用途 可分析得到以下信息&#xff1a; 表读取顺序数据读取操作的操作类型可使用的索引实际使用的索引表间引用…

微软开源多模态大模型Phi-3-vision,微调实战来了

节前&#xff0c;我们组织了一场算法岗技术&面试讨论会&#xff0c;邀请了一些互联网大厂朋友、今年参加社招和校招面试的同学。 针对大模型& AIGC 技术趋势、大模型& AIGC 落地项目经验分享、新手如何入门算法岗、该如何准备面试攻略、面试常考点等热门话题进行了…

零部件销售|基于SSM+vue的轻型卡车零部件销售平台系统的设计与实现(源码+数据库+文档)

轻型卡车零部件销售平台 目录 基于SSM&#xff0b;vue的轻型卡车零部件销售平台系统的设计与实现 一、前言 二、系统设计 三、系统功能设计 1 系统功能模块 2 管理员功能模块 3 用户后台功能模块 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题…

stream( ).collect ( Collectors.groupingBy ( ) ) 的用法

文章目录 第一种解释1、基本用法2、指定值收集器3、多级分组4、常见应用场景和用处 第二种解释1、基本语法2、示例3、更复杂的用法 第一种解释 Collectors.groupingBy 是 Java 8 引入的 Stream API 中的一个收集器&#xff08;Collector&#xff09;&#xff0c;它用于将流&am…

Golang:flosch/pongo2是一个类似Django模板语法的模板引擎

模板引擎可以用来做一些字符串渲染拼接工作&#xff0c;避免在代码中出现大量的字符串拼接 文档 https://www.schlachter.tech/solutions/pongo2-template-engine/https://github.com/flosch/pongo2 安装 go get -u github.com/flosch/pongo2/v6使用示例 1、字符串模板 p…

【笔记】Qt 按钮控件介绍(QPushButton,QCheckBox,QToolButton)

文章目录 QAbstractButton 抽象类(父类)QAbstractButton 类中的属性QAbstractButton 类中的函数QAbstractButton 类中的信号QAbstractButton 类中的槽 QPushButton 类(标准按钮)QPushButton 类中的属性QPushButton 类中的函数、槽 QCheckBox 类(复选按钮)QCheckBox 类的属性QCh…

Html中,想利用JS引入Jquery文件;$.getScript()无效

在使用$.getScript()时&#xff0c;会爆出错误&#xff1a;ReferenceError: $ is not defined &#xff0c;这是因为没有在JS文件前引入Jquery。 那么可以这样使用&#xff1a;(这个方式只适合放在页面代码最后面使用) (function () {var script window.document.createEleme…

Kettle简介

一、Kettle简介 Kettle是一个开源的ETL&#xff08;Extract-Transform-Load的缩写&#xff0c;即数据抽取、转换、装载的过程&#xff09;项目。 项目名很有意思&#xff0c;水壶。按项目负责人Matt的说法&#xff1a;把各种数据放到一个壶里&#xff0c;然后呢&#xff0c;以…

PHP反射API与接口的动态分析

PHP的反射&#xff08;Reflection&#xff09;API 提供了一种在运行时获取类和对象信息的能力&#xff0c;包括类的方法、属性、接口等。这对于动态分析、构建IDE的自动完成功能、或者进行复杂的元编程非常有用。以下是如何使用PHP反射API进行动态分析的示例代码。 1. 反射类&…

MySQL触发器怎么使用?

触发器&#xff08;Trigger&#xff09;是数据库中的一种重要机制&#xff0c;用于在特定的数据库事件&#xff08;如插入、更新或删除&#xff09;发生时&#xff0c;自动执行预定义的SQL语句。在MySQL中&#xff0c;触发器能够帮助我们实现复杂的业务逻辑、数据验证和自动化任…

ComfyUI 本地部署指南:概念、部署过程、生成图片、共享 WebUI 模型

本文收录于《AI绘画从入门到精通》专栏&#xff0c;专栏总目录&#xff1a;点这里&#xff0c;订阅后可阅读专栏内所有文章。 大家好&#xff0c;我是水滴~~ 本文主要讲解 ComfyUI 的本地部署指南&#xff0c;内容主要包括&#xff1a;ComfyUI 的概念、ComfyUI 本地部署过程、使…

MySQL---增删改查

MySQL是一个流行的关系型数据库管理系统,它使用结构化查询语言(SQL)来管理数据库中的数据。以下是MySQL中增删改查(CRUD)操作的基本命令: 创建(Create): 创建新表:CREATE TABLE table_name (column1 datatype,column2 datatype,...PRIMARY KEY (column) );插入数据:…

inventor 2021 Inventor 无法访问您的许可。网络许可不可用 也会出现在其他软件上

错误提示一般如下图 Inventor 无法访问您的许可。 无法访问您的许可 最常见的原因有: 未连接到 Internet许可服务器不工作许可服务器找不到有效许可 您可以执行以下操作: 检查是否连接到 Intemnet停止/重新启动许可服务器 如需进一步帮助&#xff0c;您可以: -与 CAD或IT管理…

C++11function包装器的使用

类模板std::function是一种通用、多态的函数包装。std::function的实例可以对任何可以调用的目标实体进行存储、 复制和调用操作。这些目标实体包括普通函数、Lambda表达式、函数指针、以及其他函数对象等。std::function对象是对 C中现有的可调用实体的一种类型安全的包裹&…

【全开源】班级管家微信小程序(FastAdmin+ThinkPHP)

班级管家微信小程序 班级管家微信小程序&#xff0c;作为一款专注于家校沟通、作业管理、成绩发布等方面的工具&#xff0c;凭借其丰富的特色功能和显著的优势&#xff0c;已经成为广大教师、家长和学生日常学习生活中不可或缺的一部分。 一、特色功能 家校沟通便捷&#xff…

42-1 应急响应之账户排查

一、用户信息排查 在服务器被入侵后,攻击者可能会建立相关账户(有时是隐藏或克隆账户),方便进行远程控制。攻击者会采用的方法主要有如下几种: 直接建立一个新的账户:攻击者直接创建一个新的账户,有时为了混淆视听,账户名称与系统常用名称相似。 激活一个系统中的默认…

Vue3实现简单的瀑布流效果,可抽离成组件直接使用

先来看下效果图&#xff1a; 瀑布流中的内容可进行自定义&#xff0c;这里的示例图是通过不同背景颜色的展示进行区分&#xff0c;每个瀑布流中添加了自定义图片和文字描述。 实现方式&#xff1a; 1.建立子组件&#xff08;可单独抽离&#xff09;写出瀑布流的样式 文件名为…

数据结构之时间复杂度和空间复杂度的相关计算

找往期文章包括但不限于本期文章中不懂的知识点&#xff1a; 个人主页&#xff1a;我要学编程(ಥ_ಥ)-CSDN博客 所属专栏&#xff1a;数据结构&#xff08;Java版&#xff09; 目录 时间复杂度 概念 大O的渐进表示法 相关练习 例1&#xff1a; 例2&#xff1a; 例3&am…

C++时间操作

C时间操作 文章目录 C时间操作sleep系列sleepnanosleepstd::this_thread::sleep_for sleep系列 sleep sleep 是在计算机编程中用于暂停当前进程或线程一段时间的函数。让程序暂停执行指定的秒数。 sleep 函数在 <unistd.h> 头文件中定义&#xff0c;其原型如下&#x…