0

0

CSS绝对定位的应用_html/css_WEB-ITnose

php中文网

php中文网

发布时间:2016-06-24 11:22:51

|

1695人浏览过

|

来源于php中文网

原创

× 目录 [1]跟随图标 [2]视频提示 [3]下拉菜单 [4]边缘对齐 [5]星号 [6]全屏适应 [7]半区翻图 [8]九宫格 [9]等高布局 [10]整体布局

前面的话

  之前的博客文章已经详细介绍过绝对定位的基础知识,由于它的用途实在广泛,于是单独为其写这篇关于其应用的博客。关于绝对定位的基础知识移步至此

 

静态位置

  当元素绝对定位后,若该元素的格式化属性不发生变化,则该元素处于静态位置。关于绝对定位元素格式化的相关内容移步至此。元素的静态位置是指元素在正常流中原本的位置,更确切的讲,顶端的静态位置是从包含块的上边界到假想框的上外边距边界之间的距离。假想框是假设元素position属性为static时元素的第一个框。

应用

  以下是基于绝对定位静态位置的应用

立即学习前端免费学习笔记(深入)”;

【1】自适应位置的跟随图标

  图标使用不依赖定位父级的absolute和margin属性进行定位,这样,当文本的字符个数改变时,图标的位置可以自适应

div{    height: 20px;    width: 500px;    line-height: 20px;    margin-bottom: 30px;}    i{    position: absolute;    width: 28px;    height: 11px;    margin: -6px 0 0 2px;    background: url('http://sandbox.runjs.cn/uploads/rs/26/ddzmgynp/hot.gif');}

长度可变文字

Quillbot
Quillbot

一款AI写作润色工具,QuillBot的人工智能改写工具将提高你的写作能力。

下载

【2】视频图片上的小图标提示

  一般在视频图片上的边角上都会有"自制"、"最新"、"1080p"等诸如此类的提示。使用不依赖的绝对定位属性,可以让父级元素不设置relative,拓展性更强

i{    position: absolute;    width:40px;    text-align: center;    height: 18px;    line-height: 18px;    font-style: normal;    background-color: orange;    color: white;    padding: 2px;}    .box{    height: 200px;    width: 200px;    border: 2px solid gray;}.in{    width: 100%;    height: 100%;    line-height: 100px;    background-color: pink;    display:inline-block;}.rt{    margin-left: -44px;}.lb{    margin-top: -22px;}.rb{    float: right;    margin-top: -22px;    margin-left: -44px;}

自制
测试内容
独家 1080p 最新

【3】下拉菜单

  一般地,下拉菜单作为一个组件需要使用在各种场景中,如果给组件添加relative属性,则降低了其利用率。

body{    margin: 0;}    ul{    margin: 0;    padding: 0;    list-style: none;}input{    padding: 0;    border: 0;}.box{    width: 200px;    height: 38px;    border: 2px solid gray;}.con{    overflow: hidden;}.input{    float: left;    width: 160px;    height: 38px;}.search{    width: 38px;    height: 38px;    float: right;    background: url('http://sandbox.runjs.cn/uploads/rs/26/ddzmgynp/search.png') 0 -38px;}.list{    display:none;    position: absolute;    width: 158px;    border: 1px solid #e6e8e9;     overflow: hidden;}.in{    line-height: 30px;    border-bottom: 1px solid lightblue;    cursor:pointer;    text-indent: 1em;}.in:hover{    background-color: #f9f9f9;}

  • 选项一
  • 选项二
  • 选项三

【4】边缘对齐

  很多网站都使用了边缘对齐,但好多都是用页面宽度计算出来的,当宽度变化时需要重新计算。而无依赖的绝对定位利用静态位置,无需计算就可将其位置确定,且拓展性好

body{    margin: 0;}ul{    margin: 0;    padding: 0;    list-style: none;}.box{    width: 200px;    height: 100px;    border: 2px solid black;    background-color: lightgreen;}    .out{    text-align: right;}.list{    position: absolute;    margin: 10px 0 0 2px;    display: inline-block;}.in{    text-align: center;    width: 20px;    line-height: 20px;    margin-top: 4px;    background-color: pink;    border-radius: 50%;}

【5】星号

  在很多注册或登录页面中,存在用*表示的必填项。*和*号对齐,文字和文字对齐。这种情况使用静态位置的绝对定位比较合适

body{    margin: 0;}ul{    margin: 0;    padding: 0;    list-style: none;}i{    font-style: normal;    color: red;    position:absolute;    margin-left: -10px;}.list{    width: 100px;    padding-left: 20px;    border: 2px solid black;    line-height: 2;}

  • *手机号
  • 用户名
  • *密码

 

偏移属性

  当使用偏移属性时,绝对定位元素将相对于包含块进行定位。一般地,我们仅仅使用偏移属性中的两个,且这两个属性不对立。但实际上,对立的偏移属性如left和right可以同时使用,甚至4个偏移属性都可以同时使用,并且可以达到一些意想不到的效果。以下基于绝对定位偏移属性的应用

应用

【1】全屏自适应

  实现一个距离屏幕右侧200px的全屏自适应的容器层

.box{    position: absolute;    top: 0;    left: 0;    right: 200px;    bottom: 0;    background-color: pink;}

【2】左右半区翻图

  一些选项卡中存在右右半区的翻图效果,点击左覆盖区切换到上一张图片,点击右覆盖区切换到下一张图片。

ul{    margin: 0;    padding: 0;    list-style: none;}.box{    position: relative;    width: 300px;    height: 200px;    border: 2px solid lightgray;    text-align: center;    font: 40px/200px '宋体';    color: white;    overflow: hidden;}.list{    position: absolute;    width: 400%;    left: 0;    top: 0;    bottom: 0;    transition: left 1s;}.in{    float: left;    width: 25%;    background-color: lightgreen;}.l,.r{    position: absolute;    opacity: 0;    top: 0;    bottom: 0;    background-color: rgba(0,0,0,0.1);    cursor: pointer;}.l{    left: 0;    right: 50%;}.r{    left: 50%;    right: 0;}.l:hover,.r:hover{    opacity: 1;    transition: 1s;}

  • 第1个
  • 第2个
  • 第3个
  • 第4个
<
>

var index = 0;var children = list.children;l.onclick = function(){    if(index > 0){        index --;        move(index);    }}r.onclick = function(){    if(index < children.length -1){        index++;        move(index);    }}function move(index){    list.style.left = '-' + index*100 + '%';}

【3】九宫格

  利用绝对定位的偏移属性可以制作宽高自适应的九宫格效果

ul{    margin: 0;    padding: 0;    list-style: none;}    .list{    position: absolute;    top: 0;    left: 0;    right: 0;    bottom: 0;}.in{    position: relative;    float: left;    height: 33.3%;    width: 33.3%;    background-color: pink;}.in:before{    content: '';    position: absolute;    left: 10px;    right: 10px;    top: 10px;    bottom: 10px;    background-color: lightblue;    border-radius: 10px;}.in:after{    content: attr(data-value);    position: absolute;    left: 0;    right: 0;    top: 0;    bottom: 0;    height: 30px;    margin: auto;    text-align: center;    font:bold 24px/30px  '宋体';}

【4】等高布局

  利用overflow清楚浮动的BFC的包裹性,形成一个看似等高的布局,再利用绝对定位模拟出背景和间隔线。

.box{    width: 80%;    margin: auto;    border: 1px solid gray;    overflow: hidden;    position: relative;    background-color: lightgreen;}.l{    box-sizing:border-box;    float: left;    width: 25%;    position: relative;}.r{    box-sizing:border-box;    float: right;    width: 75%;    padding: 10px;    height: 100%;}.con{    position: absolute;    background-color: lightblue;    border-right: 1px solid #ccc;    height: 9999px;    width: 100%;}.show{    padding: 10px;    position: relative;}

测试文字
测试文字
测试文字
测试文字
测试文字

【5】整体布局

  整体布局的思路就是利用绝对定位元素的偏移属性来替代固定定位,首先让元素满屏起到元素的作用,然后各个模块各居其位。如果有其他的一些整体的页面遮罩,则与元素平级

html,body{    height: 100%;}body{    margin: 0;}.page{    position: absolute;    top: 0;    bottom: 0;    left: 0;    right: 0;}header,footer{    position: absolute;    left: 0;    right: 0;    height: 50px;}header{    top: 0;    background-color: lightgreen;}footer{    bottom: 0;    background-color: lightcoral;}aside{    position: absolute;    left: 0;    top: 50px;    bottom: 50px;    width: 250px;    background-color: lightblue;}.content{    position: absolute;    top: 50px;    bottom: 50px;    left: 250px;    right: 0;    overflow: auto;    background-color: pink;}

内容区
头部
底部

相关文章

HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
java入门学习合集
java入门学习合集

本专题整合了java入门学习指南、初学者项目实战、入门到精通等等内容,阅读专题下面的文章了解更多详细学习方法。

2

2026.01.29

java配置环境变量教程合集
java配置环境变量教程合集

本专题整合了java配置环境变量设置、步骤、安装jdk、避免冲突等等相关内容,阅读专题下面的文章了解更多详细操作。

2

2026.01.29

java成品学习网站推荐大全
java成品学习网站推荐大全

本专题整合了java成品网站、在线成品网站源码、源码入口等等相关内容,阅读专题下面的文章了解更多详细推荐内容。

0

2026.01.29

Java字符串处理使用教程合集
Java字符串处理使用教程合集

本专题整合了Java字符串截取、处理、使用、实战等等教程内容,阅读专题下面的文章了解详细操作教程。

0

2026.01.29

Java空对象相关教程合集
Java空对象相关教程合集

本专题整合了Java空对象相关教程,阅读专题下面的文章了解更多详细内容。

3

2026.01.29

clawdbot ai使用教程 保姆级clawdbot部署安装手册
clawdbot ai使用教程 保姆级clawdbot部署安装手册

Clawdbot是一个“有灵魂”的AI助手,可以帮用户清空收件箱、发送电子邮件、管理日历、办理航班值机等等,并且可以接入用户常用的任何聊天APP,所有的操作均可通过WhatsApp、Telegram等平台完成,用户只需通过对话,就能操控设备自动执行各类任务。

25

2026.01.29

clawdbot龙虾机器人官网入口 clawdbot ai官方网站地址
clawdbot龙虾机器人官网入口 clawdbot ai官方网站地址

clawdbot龙虾机器人官网入口:https://clawd.bot/,clawdbot ai是一个“有灵魂”的AI助手,可以帮用户清空收件箱、发送电子邮件、管理日历、办理航班值机等等,并且可以接入用户常用的任何聊天APP,所有的操作均可通过WhatsApp、Telegram等平台完成,用户只需通过对话,就能操控设备自动执行各类任务。

16

2026.01.29

Golang 网络安全与加密实战
Golang 网络安全与加密实战

本专题系统讲解 Golang 在网络安全与加密技术中的应用,包括对称加密与非对称加密(AES、RSA)、哈希与数字签名、JWT身份认证、SSL/TLS 安全通信、常见网络攻击防范(如SQL注入、XSS、CSRF)及其防护措施。通过实战案例,帮助学习者掌握 如何使用 Go 语言保障网络通信的安全性,保护用户数据与隐私。

8

2026.01.29

俄罗斯Yandex引擎入口
俄罗斯Yandex引擎入口

2026年俄罗斯Yandex搜索引擎最新入口汇总,涵盖免登录、多语言支持、无广告视频播放及本地化服务等核心功能。阅读专题下面的文章了解更多详细内容。

622

2026.01.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
【web前端】Node.js快速入门
【web前端】Node.js快速入门

共16课时 | 2万人学习

国外Web开发全栈课程全集
国外Web开发全栈课程全集

共12课时 | 1.0万人学习

php-src源码分析探索
php-src源码分析探索

共6课时 | 0.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号