Html中Css样式Ⅱ html+css+
zhezhongyun 2024-12-25 16:47 59 浏览
元素的定位(方式五种定位方式):
- 静态定位: position:static;
- 相对定位: position:relative;
- 绝对定位: position:absolute;
- 固定定位: position: fixed;
- 浮动定位: float:left/right
静态定位(文档流定位)
- 格式: position:static; (默认的定位方式)
- 特点: 元素以左上为基准, 块级元素从上往下排列,行内元素从左向右依次排列, 默认情况下 无法实现元素的层叠效果
- 如何控制元素的位置? 通过外边距控制元素的位置
相对定位
- 格式: position:relative;
- 特点: 元素不脱离文档流(仍然占着原来的位置) ,可以实现元素的层叠效果
- 如何控制元素的位置? 通过left/right/top/bottom 控制元素的显示位置,参照物是初始位置
- 应用场景: 当希望移动某一个元素其它元素不受影响时使用相对定位, 相对定位可以实现元素的层叠
<style>
div {
width: 100px;
height: 100px;
border: 1px solid red
}
div:hover {
/*margin: 20px 0 0 20px;*/
/*修改为相对定位*/
position: relative;
top: 20px;
left: 20px;
}
</style>
<body>
<div>div1</div>
<div>div2</div>
<div>div3</div>
</body>
绝对定位
- 格式: position:absolute;
- 特点: 元素脱离文档流(不占原来的位置),可以实现元素层叠
- 如何控制元素的位置?通过left/right/top/bottom控制位置,参照物为窗口或某一个上级元素(需要在上级元素中添加position:relative作为参照物)
- 应用场景: 当需要往页面中添加一个元素并且不影响其它元素的显示位置,并且可以实现层叠效果
<style>
div{
width: 300px;padding: 10px;
background-color: rgba(0,0,0,0.3);
position: relative;/*参照物*/
}
input{
width: 260px;/*300-20*2内边距*/
padding: 10px 20px;border: none;
}
img{
position: absolute;
top: 14px;right: 40px;
}
p{margin: 0;font-size: 12px; color: red;}
</style>
<body>
<div>
<input type="text" placeholder="请输入用户名">
<img src="http://celinf.org/yhm.png" alt="">
<p>用户名不能为空!</p>
</div>
</body>
固定定位
- 格式: position:fixed;
- 特点: 脱离文档流
- 如何控制元素的位置?通过left/right/top/bottom相对于窗口做偏移
- 应用场景: 当需要将元素固定在窗口的某个位置时使用
<style>
#d1{
width: 1000px; height: 100px; background-color: red;
position: fixed; top:0;
}
body{
padding-top: 100px;
}
#d2{
width: 50px;height: 200px;
background-color: blue;
position: fixed;
padding-top: 200px;right: 0;
}
</style>
<body>
<div id="d1"></div>
<div id="d2"></div>
<img src="../bee.png" alt="">
<img src="../bee.png" alt="">
<img src="../bee.png" alt="">
<img src="../bee.png" alt="">
<img src="../bee.png" alt="">
<img src="../bee.png" alt="">
<img src="../bee.png" alt="">
<img src="../bee.png" alt="">
<img src="../bee.png" alt="">
</body>
浮动定位
- 格式: float:left/right;
- 特点: 脱离文档流, 元素从当前所在行向左或向右浮动,当撞到上级元素边缘或其它元素时停止.
- 浮动元素一行装不下时会自动折行, 折行时有可能被卡住
- 当元素的所有子元素全部浮动时,自动识别的高度会为0,后面元素会顶上来导致显示异常,通过给元素添加overflow:hidden可以解决此问题
- 应用场景: 当需要将纵向排列的元素改成横向排列时使用.
<style>
body>div{
width: 200px; border: 1px solid red;
/*当元素的所有子元素全部浮动时 自动识别的高度为0
后面的元素会顶上来导致显示异常,添加overflow:hidden解决此异常*/
overflow: hidden;
}
#d1{
width: 50px; height: 50px;
background-color: red;
float: left;
}
#d2{
width: 50px; height: 50px;
background-color: green;
float: left;
}
#d3{
width: 50px;height: 50px;
background-color: blue;
float: left;
}
</style>
<body>
<div>
<div id="d1"></div>
<div id="d2"></div>
<div id="d3"></div>
</div>
</body>
溢出设置overflow
- visible超出部分显示(默认)
- hidden超出部分隐藏
- scroll 超出部分滚动显示
行内元素垂直对齐方式vertical-align
- top 上对齐
- middle中间对齐
- bottom下对齐
- baseline基线对齐(默认)
<style> /* 块元素居中 margin */
div{
width: 200px;height: 200px;
border: 1px solid red;
/*设置超出部分的显示方式*/
overflow: scroll;
}
img{
width: 100px;
/*设置行内元素的垂直对齐方式
top上对齐
middle中间对齐
bottom下对齐
baseline基线对齐(默认)*/
vertical-align: bottom;
}
</style>
元素的显示层级
当两个元素非静态定位时可能存在层叠的问题 通过z-index样式控制显示层级, 值越大显示越靠前
<style>
#d1{
width: 50px;height: 100px;
background-color: red;
position: absolute;
/*设置显示层级 值越大显示越靠前
只对非静态定位的元素有效*/
z-index: 1;
}
#d2{
width: 100px;height: 50px;
background-color: blue;
position: absolute;
z-index: 2;
}
</style>
<body>
<div id="d1"></div>
<div id="d2"></div>
</body>
综合布局练习(Demo)
<style>
body{
font: 12px "simhei", Arial, Helvetica, sans-serif;
color: #666;
}
body>div{
width: 1000px;margin: 0 auto;
}
#t_l_div{
width: 611px; height: 376px;
float: left; position: relative;
}
#t_r_div{
width: 375px; height: 376px;
float: right;position: relative;
}
#t_div{
overflow: hidden;margin-bottom: 10px;
}
#t_div>div,#b_l_div,#b_r_div>div{
background-color: #e8e8e8;
}
#b_div{
overflow: hidden;
}
#b_l_div{
width: 366px;height: 233px;
float: left;
}
#b_r_div{
overflow: hidden;float: right;
}
#b_r_div>div{
width: 198px;height: 233px;
float: left;margin-left: 10px;
}
#ls_d1{
margin: 25px 0 0 50px;width: 245px;
height: 232px; padding: 5px;
}
.title_p{
color: #333333; font-size: 32px;
font-weight: lighter;
}
.intro_p{
ont-size: 12px;font-weight: lighter;
}
.price_p{
margin-bottom: 12px;font-weight: bold;
color: #0AA1ED;font-size: 24px;
}
.a_title{
display: block;
background-color: #0aa1ed;
color: white;width: 132px;
height: 40px; text-align: center;
line-height: 40px;font-size: 20px;
text-decoration: none;border-radius: 2px;
}
#t_l_div>img{
position: absolute;
right: 20px;bottom: 15px;
}
#lr_d1{
width: 253px;height: 232px;
padding: 4px;text-align: left;
margin: 39px 0 0 25px;
}
#t_r_div>img{
position: absolute;
right: 10px;bottom: 3px;
}
.s_title{
font-size: 12px;width: 100px;
height: 24px; line-height: 24px;
margin: 0 auto;
}
.s_info{
font-size: 12px;text-align: center;
color: #333333;padding-top: 0;
margin-top: 0;
}
.s_price{
text-align: center;font-size: 12px;
font-weight: bold;margin: 6px auto;
color: #0aa1ed;
}
#b_l_div>p,ul{
padding: 0;margin: 0;
}
#top_div{
color: white; font-size: 16px;
background-color: #0aa1ed;
line-height: 35px;border-radius: 2px;
bottom: 5px;
}
#top_div>img{
float: left;margin: 10px 5px 0 10px;
}
.c_div{
padding-left: 10px;
}
.c_div>p{
color: #62B5EC; margin: 17px 0 9px 0;
}
.c_div>ul{
list-style-type: none;overflow: hidden;
}
.c_div>ul>li{
float: left;margin-right: 10px;
}
.c_div>ul>li>a{
text-decoration: none;color: #0aa1ed;
}
</style>
<body>
<div>
<div id="t_div">
<div id="t_l_div">
<div id="ls_d1">
<p class="title_p">灵越 燃7000系列</p>
<p class="intro_p">
酷睿双核i5处理器|256GB SSD| 8GB内存<br>
英特尔HD显卡620含共享显卡内存
</p>
<p class="price_p">¥4999.00</p>
<a href="#" class="a_title">查看详情</a>
</div>
<img src="http://celinf.cn/study_computer_img1.png" alt="图1">
</div>
<div id="t_r_div">
<div id="lr_d1">
<p class="title_p">颜值 框不住</p>
<p class="intro_p">
酷睿双核i5处理器|256GB SSD| 8GB内存
<br>
英特尔HD显卡620含共享显卡内存
</p>
<p class="price_p">¥6888.00</p>
<a href="#" class="a_title">查看详情</a>
</div>
<img src="http://celinf.cn/study_computer_img2.png" alt="图二">
</div>
</div>
<div id="b_div">
<div id="b_l_div">
<div id="top_div">
<img src="http://celinf.cn/computer_icon1.png" alt="图三">
<span>电脑,办公/1F</span>
</div>
<div class="c_div">
<p>电脑整机</p>
<ul>
<li><a href="#">笔记本</a></li>
<li><a href="#">游戏机</a></li>
<li><a href="#">台式机</a></li>
<li><a href="#">一体机</a></li>
<li><a href="#">服务器</a></li>
<li><a href="#">联想</a></li>
</ul>
<p>电脑配件</p>
<ul>
<li><a href="#">CPU</a></li>
<li><a href="#">SSD硬盘</a></li>
<li><a href="#">显示器</a></li>
<li><a href="#">显卡</a></li>
<li><a href="#">组装电脑</a></li>
<li><a href="#">机箱</a></li>
</ul>
<p>外设/游戏</p>
<ul>
<li><a href="#">键盘</a></li>
<li><a href="#">鼠标</a></li>
<li><a href="#">U盘</a></li>
<li><a href="#">移动硬盘</a></li>
<li><a href="#">游戏设备</a></li>
<li><a href="#">智能单车</a></li>
</ul>
</div>
</div>
<div id="b_r_div">
<div class="s_list">
<img src="http://celinf.cn/study_computer_img3.png" alt="图四">
<p class="s_info">戴尔(DELL)XPS13-9360-R1609 13.3英寸微边框笔记本电脑</p>
<p class="s_price">¥4600.00</p>
<a href="#" class="a_title s_title">查看详情</a>
</div>
<div class="s_list">
<img src="http://celinf.cn/study_computer_img3.png" alt="图四">
<p class="s_info">戴尔(DELL)XPS13-9360-R1609 13.3英寸微边框笔记本电脑</p>
<p class="s_price">¥4600.00</p>
<a href="#" class="a_title s_title">查看详情</a>
</div>
<div class="s_list">
<img src="http://celinf.cn/study_computer_img3.png" alt="图四">
<p class="s_info">戴尔(DELL)XPS13-9360-R1609 13.3英寸微边框笔记本电脑</p>
<p class="s_price">¥4600.00</p>
<a href="#" class="a_title s_title">查看详情</a>
</div>
</div>
</div>
</div>
</body>
学习记录,如有侵权请联系删除
相关推荐
- 3D边框效果绝了Jetpack Compose也太会玩了吧
-
在JetpackCompose中创建惊艳的3D边框效果大家好!今天我要分享一个超酷的技巧——如何在JetpackCompose中创建3D边框效果。这种效果可以应用于任何视图和任何形状...
- “雨”你同行,他们在岗位上为您守护……
-
7月10日京津冀地区迎来降雨天气京铁人以“降雨预警”为令迎风而上逆水而行全力守护铁路运输安全雨帘下的“摆渡人”北京站、石家庄站及时铺设防滑垫,检查排水设施,确保旅客行走通道安全。北京北站加密站台巡视...
- 战士实用小福利!巧用宏命令让血条更直观
-
很多战士朋友经常被怒气和血条所困扰,如何及时的进行规避开启防御技能?如何更好的利用怒气打出伤害?成为了众多战士的首要问题。现在即使在没有插件的支持下我们也可以实现这样的功能,巧用宏命令就可以让怒气和血...
- python操作word 添加导航栏,导航栏在左边显示
-
点赞标记,明天就能用上这几个技巧!要实现Python生成Word文档并显示左侧导航栏(即导航窗格),需通过标题样式标记文档结构+修改文档视图设置两步完成。以下是详细且经过验证的解决方案,基于pytho...
- 田渊栋等原班人马作:AI生成长篇故事,数千字长文也能连贯、有趣
-
机器之心报道编辑:小舟、陈萍以后,写故事这脑力活可以交给AI了。前段时间,模仿人类写作过程的语言模型Re^3发布,该模型不需要微调大模型,而是通过设计prompt来生成一致性强的故事。现在...
- VBA常用代码_1、文本格式整理
-
本人财务岗位,非专业编程人员,请勿以专业看待哈,能用无BUG即可!均是我在工作中常用的补充功能,且具有通用性的功能。基于实用性而编写。不见理论,只需要你会复制粘贴就行。看完第一篇文章,结合之后更新的内...
- 行业首选的文档管理工具Aspose.Words新版本v16.3.0发布
-
Aspose.Words是一款先进的文档处理控件,在不使用MicrosoftWords的情况下,它可以使用户在各个应用程序中执行各种文档处理任务,其中包括文档的生成、修改、渲染、打印,文档格式转换和...
- 作为前端工程师必须懂得的33个CSS核心概念
-
你真的懂CSS吗?层叠样式表(CSS)是网页设计的支柱,能将单调的HTML转变为视觉惊艳的交互界面。要精通CSS,必须理解从基础选择器到动画、响应式设计等高级技巧在内的核心概念。无论你是初学者还是资深...
- 全力做好节假日期间服务保障工作
-
为保障五一期间ETC运营工作正常有序开展,甘肃省高速公路ETC管理服务中心全力以赴、恪尽职守,使各项工作有备无患。一是要求中心全体职工牢固树立安全发展观念,时刻紧绷“安全弦”,夯实安全生产基础,落实安...
- Manila's hyping up of illegal 'arbitral award' nothing but a damp squib
-
Manila'shypingupofillegal'arbitralaward'nothingbutadampsquib:ChinaDailyeditorial-Opi...
- QLabel 文字两端对齐解决方案
-
在Qt开发中,实现QLabel文字两端对齐是一个常见需求。本文将介绍多种在Qt中实现QLabel文字两端对齐的方法及其原理。Qt本身具备文字两端对齐的支持,但需要同时使用Qt::AlignJ...
- tkinter中的一些自定义控件,你知道几个呢?
-
用tkinter图形库编写过界面的朋友都知道,tkinter中拥有的图形控件很少,ttk中虽然新增了一些,但是这也不足以满足我们的使用,因为我们在编写图形界面的时候会用到各种各样的控件,有些是tkin...
- 一个人的婚礼:她送给自己的新婚礼物是遗体捐献书
-
style="text-indent:2em;">1月20日,在重庆武隆区医院的病房里,爱心人士为21岁的杨春燕在医院举办了一场没有新郎的婚礼,圆了春燕穿婚纱、走红毯的心愿,仪式后春燕签署了遗体...
- 毕业论文小技巧:word排版之章节自动化编号
-
设置大纲多级列表目的是方便增删章节时实现章节标号的自动编号,并且实现论文图表公式编号按照章节顺序自动编号。准备工作:假设前面已经定义好章节标题样式分别为标题一论文章标题、论文节标题、论文小节标题、论文...
- 伊朗呼吁土耳其立即终止对叙军事行动
-
style="text-indent:2em;">新华社德黑兰1月21日电(记者马骁穆东)伊朗外交部21日发表声明说,希望土耳其立即终止在叙利亚阿夫林发起的军事行动,避免叙北部危机进一步恶化。...
- 一周热门
- 最近发表
-
- 3D边框效果绝了Jetpack Compose也太会玩了吧
- “雨”你同行,他们在岗位上为您守护……
- 战士实用小福利!巧用宏命令让血条更直观
- python操作word 添加导航栏,导航栏在左边显示
- 田渊栋等原班人马作:AI生成长篇故事,数千字长文也能连贯、有趣
- VBA常用代码_1、文本格式整理
- 行业首选的文档管理工具Aspose.Words新版本v16.3.0发布
- 作为前端工程师必须懂得的33个CSS核心概念
- 全力做好节假日期间服务保障工作
- Manila's hyping up of illegal 'arbitral award' nothing but a damp squib
- 标签列表
-
- HTML 教程 (33)
- HTML 简介 (35)
- HTML 实例/测验 (32)
- HTML 测验 (32)
- JavaScript 和 HTML DOM 参考手册 (32)
- HTML 拓展阅读 (30)
- HTML文本框样式 (31)
- HTML滚动条样式 (34)
- HTML5 浏览器支持 (33)
- HTML5 新元素 (33)
- HTML5 WebSocket (30)
- HTML5 代码规范 (32)
- HTML5 标签 (717)
- HTML5 标签 (已废弃) (75)
- HTML5电子书 (32)
- HTML5开发工具 (34)
- HTML5小游戏源码 (34)
- HTML5模板下载 (30)
- HTTP 状态消息 (33)
- HTTP 方法:GET 对比 POST (33)
- 键盘快捷键 (35)
- 标签 (226)
- HTML button formtarget 属性 (30)
- CSS 水平对齐 (Horizontal Align) (30)
- opacity 属性 (32)