图片的居中定位和按钮定位

要求:

div 中一张图片,需要让这张图片的中心部分始置于这个div的中间。两边超出部分隐藏。

代码实现:

div{
    img {
        margin-left: 50%; /*相对父元素*/
        transform:translateX(-50%);/* 相对自身宽*/
    }
}

button 定位到一张图片上

当设计给的是一张大图,上面的按钮不能通过CSS实现,只能使用设计给的图时,这时需要在这张大图上进行链接button的定位。

方法:不要做背景,对图片进行切割,从按钮的上边部分进行切割,上面的部分成为一个 img 标签,下面的部分成为一个img,这样对 button 进行定位的时候始终设置 top 值为0。

单位的选择:使用百分比肯定是不行的,当页面变大或者变小的时候,或者是页面缩放的时候必然会出现定位不准的问题。

所以当 top 值设置为0后,只需要设置左右的距离就行。首先先将按钮居中,这很好实现。

如果有多个按钮,那么先将他们居中,再通过一个固定的 margin-left/right 值(前提:图片不会进行缩放,始终显示中间的部分。如果图片宽度会进行缩放,那么只能使用百分比定位)进行相对定位,这样在页面缩放或者变大变小的时候页面定位不会乱。

TODO:纯 CSS2 的方式实现图片的居中

https://aiezu.com/article/img_overflow_center_css_js.html

<!DOCTYPE html>
<html>
<head>
<style type="text/css">
.demo-box { position:relative; width:200px;height:200px; overflow:hidden;}
.demo-box  p { position:absolute;top:50%;left:50%;margin:0;padding:0; }
.demo-box img { position:absolute;top:-50%;left:-50%;display:block; } // 相对父元素,但是父元素和自己宽高一致。这里其实相对于自己
.demo-box img.hide { visibility:hidden;position:static; } 
</style>
</head>

<body>
<div class="demo-box">
  <p>
     <img class="hide" src="images/400x200.jpg"/>// 撑开p标签,使得和图片具有相同宽高,但是不显示
     <img src="images/400x200.jpg"/> 
  </p>
</div>

</body>
</html>
### CSS 实现元素或对象居中对齐方法 #### 使用 Flexbox 居中对齐 Flexbox 是一种强大的布局工具,可以轻松实现子元素在其容器中的水平垂直方向上的居中对齐。 ```css .demo { display: flex; justify-content: center; /* 水平居中 */ align-items: center; /* 垂直居中 */ height: 100vh; /* 设置容器高度为视口高度 */ } ``` 此代码片段展示了如何通过 `display: flex` `justify-content`, `align-items` 来使 `.demo` 容器内的内容在两个轴上都处于中心位置[^1]。 #### 绝对定位加转换法 另一种常见的技术是利用绝对定位配合 CSS 的变换属性来进行精确的居中处理: ```css .container { position: relative; } .content { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); } ``` 这种方法适用于已知尺寸的情况,并且能够很好地适应不同大小的内容区域[^2]。 #### 行内元素与表格单元格样式调整 针对特定类型的 HTML 元素如 `<td>` 或者简单的文本节点,则可以通过设置其内部样式的组合达到预期效果: ```css td, p { text-align: center; /* 文本横向居中 */ vertical-align: middle; /* 对于表格数据有效 */ line-height: normal; /* 调整行高以匹配所需间距 */ } ``` 这里提到的技术特别适合用于表格或其他结构化文档格式,在这些场景下可以直接操作标签本身的默认行为来简化开发过程[^3]. #### 单行文字的高度控制技巧 当面对的是单行的文字时,只需要简单地设定相同的 `height` `line-height` 就能确保该段落保持良好的视觉平衡感: ```css .single-line-text { height: 40px; line-height: 40px; text-align: center; } ``` 这种方式非常适合用来快速解决一些小型组件的设计需求,比如按钮、徽章等[^4].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值