CSS中链接文本为图片时的问题(塌陷、对应的图片建立倒角的问题)

我在做Javascript DOM编程艺术的时候,在12章自己做练习时遇到了一个问题,<a>的内容<img>从<a>的盒子中溢出。代码如下:

<a href="../images/photos/concert.jpg" title="The crowd goes wild">

<img src="../images/photos/thumbnail_concert.jpg" alt="the band in concert" />
          </a>

   如何解决呢?我只要将a {display:block;}就可以撑起盒子。

我做了一点修饰,偏褐色的部分是图片盒子。绿色的部分为链接<a>的盒子。但此时图片的下部是无法填满<a>盒子的。我这时将<img>的css设为 img {display:block;},看效果。

这时<img>就可以铺满这个<a>盒子了,设置 a {display:inline;} 让其可以用inline的方式显示,<a>表现为inline还是block由元素的内容决定。即:<a>内容</a>。一个元素表现为inline的时候会直接缩到内容物的大小。

有些时候,若一个块级元素中含有许多浮动元素,这时外层的块级元素会塌陷掉。这时使用这样的代码,为方便我已伪代码表示:

blockelement  {width:"size";overflow:auto/hidden};这样就可以撑起盒子了。

我给我的<img>设置了圆角,但是会发现其实这后面还有边框存在,看起来不协调。

也就是图中绿色的部分显示了<a>的背景德存在,我可以设置<a>的背景为透明,我也可以给它加个倒角是我看不见。

可以看到,绿色不见了,当我把背景换为红色时我观察到了外层的边框,但我根本没有设置啊!!!若是其他背景下还不容易看到。而随着我将li显示方式设为inline后,li会直接包含其中的内容,我甚至将li/a等的边框设为0也无济于事,不知问题在哪里。最后我发现是图片外面的虚框啊,只要我将对应的img {outline-width:0px;}就不会出现了。可以参看这篇不错的文章

时间: 2024-08-07 00:18:04

CSS中链接文本为图片时的问题(塌陷、对应的图片建立倒角的问题)的相关文章

css中的文本

CSS 文本属性可定义文本的外观. 通过文本属性,您可以改变文本的颜色.字符间距,对齐文本,装饰文本,对文本进行缩进,等等. 缩进文本 把 Web 页面上的段落的第一行缩进,这是一种最常用的文本格式化效果. CSS 提供了 text-indent 属性,该属性可以方便地实现文本缩进. 通过使用 text-indent 属性,所有元素的第一行都可以缩进一个给定的长度,甚至该长度可以是负值. 这个属性最常见的用途是将段落的首行缩进,下面的规则会使所有段落的首行缩进 5 em: p {text-ind

CSS中使用文本阴影与元素阴影

文本阴影介绍 在CSS中使用text-shadow属性设置文本阴影,该属性一共有4个属性值如:水平阴影.垂直阴影.(清晰度或模糊距离).阴影颜色. text-shadow属性值说明,在文本阴影实践中:第一个值是设置阴影水平方向移动,第二个值是设置阴影垂直方向移动,第三个值是设置阴影模糊距离,第四个值是设置阴影颜色. text-shadow属性值可以设置为负数. 文本可以设置多个阴影以逗号分隔即可. text-shadow: 1px 2px 3px red ,1px 2px 6px rebecca

CSS中input输入框点击时去掉外边框方法【outline:medium;】----CSS学习

CSS 中添加 outline:medium; JS 控制焦点: $("#CUSTOM_PHONE").focus(function(event){ // this.attr("border","none"); $("#CUSTOM_PHONE").css('border-bottom','1px solid #3BC2B5'); }); $("#CUSTOM_PHONE").blur(function(e

MFC中解决文本保存到文件时乱码问题

在高版本的VS中,若直接将CString保存到文本文件中,可能会出现乱码问题 原因就在于项目的编码跟系统的默认编码不同(Unicode和GB2312),这个时候使用如下代码,即可解决. unsigned char CharSet[2]; //写入文件字符编码(UTF) CharSet[0]=0xFF; CharSet[1]=0xFE; InFile.Write(CharSet,sizeof(CharSet)); 到这里呢,可以解决乱码的问题,但是,很可能出现内容只剩下一半的情况,那是因为CFil

css中链接的4个状态 link、visited 、hover、active 顺序与设置

link       未点时链接色visited  已点过的链接色hover   光标放入链接上的色active   点击时的样式 顺序一定要按link.visited.hover.active来设置 1)普通形式a:link{}a:visited{}a:hover{}a:active{} <a href="...">...</a> 2)单个classa.clsname{}a.clsname:link{}a.clsname:visited{}a.clsname:

CSS中的字体样式和文本样式

CSS中的字体样式: 在手机端设置大小的时候,一般不使用px CSS字体颜色三种表达方式: 1.具体颜色名称         例:color:red; 2.数字 0~255,百分比:0%~100%        例:color:rgb(0%,100%,0%) 3.十六进制:#开头,六位,0~F         例:color:#00880a font-weight文字粗细: font-weight:normal |bold | bolder |lighter | 100~900 400相当于no

从零开始学_JavaScript_系列(16)——CSS&lt;3&gt;(文本、对齐、圆角、盒模型、背景)

注意,有些CSS属性对于低版本浏览器(典型的就是IE),可能不支持,所以在面向低版本浏览器的时候需要注意的说. 关于CSS属性的兼容性检测的网站:http://caniuse.com/ 部分图片来自网易云课堂,侵.私信.删 (34)文字字体 ①font-size:文字大小 ②值有:length(具体值).absolute-size(绝对值,用的少).relative-size(相对值,用的少).percentage(百分比) length:如15px(15px大小),2em(相对父元素属性的2倍

DIV css中cursor属性详解-鼠标移到图片变换鼠标形状 (转)

css中cursor属性详解-鼠标移到图片变换鼠标形状 语法: cursor : auto | all-scroll | col-resize| crosshair | default | hand | move | help | no-drop | not-allowed | pointer | progress | row-resize | text | vertical-text | wait | *-resize | url ( url )  取值: auto  :   默认值.浏览器根

做一个手机端页面时,遇到了一个奇怪的问题:字体的显示大小,与在CSS中指定的大小不一致

最近在做一个手机端页面时,遇到了一个奇怪的问题:字体的显示大小,与在CSS中指定的大小不一致.大家可以查看这个Demo(记得打开Chrome DevTools). 就如上图所示,你可以发现,原本指定的字体大小是24px,但是最终计算出来的却是53px,看到这诡异的结果,我心中暗骂一句:这什么鬼! 随后开始对问题各种排查:某个标签引起的?某个CSS引起的?又或者是某句JS代码引起的.通过一坨坨的删代码,发现貌似都不是.我不禁又骂,到底什么鬼!不过中间还是发现了一些端倪:当页面中的标签数量或者文本数