图片标签 <img> 和区块标签 <div> 可以一起谈,因为我们可以把图片想成很大的区块,只是这个区块的背景是那张图片。想到区块,会想到需要哪些属性呢?宽度、高度、位置应该是最核心的区块属性,毕竟我们使用区块,就是为了要确定内含元素的分布范围嘛!不过,我们也会需要知道这个区块的背景颜色、背景图片、还有边框,这样我们才可真正看见这个区块长怎样。背景相关的属性,都有 background- 前缀,而边框相关的属性,都有 border- 前缀喔!当然,区块相关的属性也不只这边介绍的这些,这边只是列举出比较常用的喔!
高度、宽度:height, width,值是数字加上长度单位。我们前面提过相对长度单位 %,是以父元素的比例为准。
位置的问题比较麻烦,因为在 CSS 中,position 属性并不是用来告诉浏览器这个区块的实际位置,而是这个区块决定位置的方式。目前先知道 3 种值就可以了:
<div>
<div style="margin:2px; height:100px; width:100px; background-color:red; color:white; text-align:center; line-height:100px;">区块一</div>
<div style="margin:2px; height:100px; width:100px; background-color:violet; color:white; text-align:center; line-height:100px;">区块二</div>
<div style="margin:2px; height:100px; width:100px; background-color:red; color:white; text-align:center; line-height:100px;">区块三</div>
<div style="margin:2px; height:100px; width:100px; background-color:red; color:white; text-align:center; line-height:100px;">区块四</div>
</div>
样式多了以後,标签是不是看起来超长超难读的?这个我们会在後天告诉各位阿嬷该怎麽处理,标签看起来才会像阿嬷帮乖孙整理过的房间一样整洁清爽!
让我们把区块二放上相对位置,并且距离原本区块上边与左边各 20px。CSS 是这样写:
position: relative;
top: 20px;
left: 20px;
我们会看见,区块二被往下与往右推了,而且在原本区块二的位置,留下了尺寸和区块二相同的空白:
position: absolute;
top: 20px;
left: 20px;
我们会看见,区块二从父元素的左上边框往右下推了 20px,而原本区块二的位置完全消失,完全没留下空白:
背景颜色:background-color,值目前也是先用颜色对应的英文文字就可以了。
边框:border,值是颜色、宽度、以及线条样式。线条样式的值可能是实线 solid, 虚线 dashed, 双线 double 等等。记得各项值间是用空白隔开喔!
值得注意的是,这些多值的属性,都可以分开写定个别属性。分开写定的好处,是可以指定是上下左右哪条边框。只写 1 个值的时候,就是 4 条边框都共享这个属性。写 2 个值时,第一个值表示垂直边 (左、右),第二个值表示水平边 (上、下)。写 3 个值时,分别是上边、水平边、下边。写 4 个值时,分别是上、右、下、左。「上、右、下、左」这个顺序满重要的,推荐各位阿嬷可以记忆起来,因为很多 CSS 的属性顺序都是长这样。例如,我们有
边框宽度 border-width,值是数字加上长度单位。
边框颜色 border-color。
边框样式 border-style。
边框圆角 border-radius,值是数值加上长度单位,表示边框圆角的半径长度。
例如,我们可以这样写:
border:black 5px;
border-style: dashed solid double dotted;
border-radius:20px;
而把上面的样式套入 div 标签後,再指定宽高都为 200px 後,看起来就会像这样:
<div style="height: 200px; width: 200px; border:black 5px; border-style: dashed solid double dotted; border-radius:20px"></div>
上面这个标签,渲染出来就会长这样:
对於区块比较熟悉以後,我们就可以来放入背景图片罗!背景图片的放置是这样的:
background-image: url(https://i.imgur.com/4ndjo3V.png)
好的,那我们就写出这样的 HTML 标签就对了吧:
<div style="background-image: url(https://i.imgur.com/4ndjo3V.png); height: 100px; width: 100px;"></div>
结果好像很不对啊啊啊:
因为我的原图是长这样的才对:
为什麽会这样呢?我们可以把 div 标签对应的区块元素当成一个相框,背景图片当作里面的相片。当我们的照片宽高大过这个区块的时候,就自动会被剪裁掉了。那这个问题应该怎麽解呢?就等我们明天详细解释该怎麽处理背景图片罗!
很快的三个月过去了主管也敲一个时间跟我面谈了一会,确认後续的薪资调整以及工作的大方向目标後我点头说o...
刚转职成功的前端菜鸡第一次参赛,原本想简单开心的每天写一个小小的专案练习 JavaScript, C...
昨天我们讨论了怎麽判断什麽是好的设计,属於道的部份。今天来谈谈术的部份,怎麽内化这种判断能力 日常...
经过了这次的铁人赛,收获颇丰,因为我本身的知识量无法凑足30天,有蛮多部分都是另外去学的,让我学到了...
看完这篇文章你会得到的成果图 前言 我们接下来的讨论,会基於读者已经先读过我 day5 文章 的架构...