如何设置html中img标签宽高相等

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何设置html中img标签宽高相等相关的知识,希望对你有一定的参考价值。

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="Generator" content="EditPlus®">
<meta name="Author" content="rubine">
<meta name="Keywords" content="">
<meta name="Description" content="">
<title>Document</title>
<style type="text/css">
.img-wrap
width: 60%; /* 这里设置占屏幕宽度百分比 */
margin: 0 auto;


/* 创建一个正方形容器 */
.img-container
width: 100%;
height: 0px;
padding-bottom: 100%;
overflow:hidden;
margin: 0;
position:relative;


/* 采用绝对定位 */
.img-wrap img
position:absolute;
width: 100%;
height: 100%;

</style>
</head>
<body>

<div class='img-wrap'>
<div class="img-container">
<img src="3.png" />
</div>
</div>

</body>
</html>
参考技术A img
width: 100%;
height: 100%;

html a标签怎样设置宽高,a标签如何设置高度和宽度

https://blog.csdn.net/weixin_30344519/article/details/117859933

https://www.yzktw.com.cn/post/14740.html

我们直接设置html代码中的a标签高度和宽度是不会起作用的,这是因为a标签属于内联元素标签,而内联元素不支持设置宽度(width)和高度(height),那么, a 标签如何设置宽度和高度。

为什么设置a标签宽高无效

a标签属于内联元素(也叫行内元素),而内联元素默认的css样式属性是display:inline,直接设置内联元素的宽度(width)和高度(height)是无效的,因为内联元素的宽高是随其内容的宽度和高度大小而变化的;当内联元素中存在文本时,其高度由文本的字体大小所决定;

 

上图代码演示中,我们设置了a标签的宽高都是130px,还设置了背景颜色为红色,

a

width:130px;

height:130px;

background:red;

之所以设置背景颜色为红色,即background:red,这样做的话,a标签所占有的区域就会显示为红色,那么,我们就能清楚的观察到a标签宽度和高度的变化了;

在代码中,我们虽然设置了宽度和高度都是130px,但发现a标签的文字内容,也就是“刘代码博客”五个汉字的宽高和背景红色的高宽是一致的(如下如所示),可见,我们设置a标签的高宽并没有发生变化,也就意味着,我们直接对a标签设置宽度和高度是不起作用的(如下如所示)!

 

不仅仅是a标签在默认情况下,直接设置宽度和高度是无效的,而且几乎所有的内联元素和a标签一样,设置宽度和高度也是无效的!

设置a标签宽高的三种方法

想要让a标签的宽度和高度起作用,我们可以通过以下三种方法实现:

1、将内联元素a标签转化成块级元素

在a标签的CSS样式中设置:display:block,就可以将a标签转化成块级元素,如下图所示:

 

由上图可知,在CSS样式中设置:display:block,将a标签转化成块级元素后,设置的高度和宽度都起作用了,但我们还发现,a标签的文字内容没有居中,这样也会影响布局!

我们可以在CSS样式中设置text-align: center(水平居中)和line-height: 130px(垂直居中);line-height属性值要和a标签的高度一致,才能保持垂直居中!

 

2、将内联元素a标签转化成内联块级元素:

在a标签的CSS样式中设置:display:inline-block,将内联元素的a标签转化成内联块级元素,如下图所示:

从上图中我,可以看见将a标签转化成内联块级元素(inline-block)后,设置的宽度和高度也生效了!

3、使用float属性将a标签设置为浮动状态

在CSS样式中给a标签设置为 float属性(float:left/right), 让它变成浮动状态后,就可以设置宽度和高度了*(如下图所示),但缺点可能会造成与其它文字内容重叠。

最后总结

1、当a标签能设置宽度后,可以使用CSS样式属性:text-align: center进行水平居中;设置了高度后,就可以设置CSS样式属性line-height的值进行垂直居中,但要注意的是,line-height的属性值要和高度保持一致才能正确显示垂直居中;

2、将内联元素的a标签转化成块级元素(block)后,就会独占一行显示,如果不想独占一行,可以将a标签转化为内联块级元素(inline-block),因为内联块级元素是不会独占一行显示的!

3、网上有些文章提到,使用padding(内边距)和margin(外边距)属性设置a标签的左右边距来模拟a标签的宽度!

以上是关于如何设置html中img标签宽高相等的主要内容,如果未能解决你的问题,请参考以下文章

CSS中怎么让五个img标签重叠在一起并居中对齐?

jquery获取img宽高

HTML中img标签的src填本地绝对路径无法显示

关于html中img标签的问题

如何使用 HTML IMG 标签保持纵横比

javascript怎么动态更改img标签的src属性?