发表于: 2019-05-22 13:53:41

1 744


今日完成的事情:完成任务三的总体布局以及图像的大小调整,了解的绝对路径和相对路径的区别

明天计划的事:查询了解浏览器兼容的常见用法及规范

今天遇到的问题:1 在调整页面时,一直纠结图片的大小随页面变化而自适应,一直觉得任务中是要求全部使用

em来实现,于是一直百度,知乎,查书籍,就只找到将weith设置为100%,height设置为auto就可以了。但是显示出来的效果

就是图片过大,我又开始想着是不是要将图片压缩到合适的大小,后来我又开始百度压缩图片大小,后来发现要将图片改为jpg格式才行,

但是icon最佳的格式png,然后我就开始求助在群里求助师兄,师兄就直接说把图片大小锁死,然后就解决了,果然自己琢磨还是不行。

                      2  在用手机查看页面时出现了下面这个问题,背景颜色不显示,我当时还在奇怪,电脑上还好好的,手机上怎么就不行了呢?

后来我查了一下《Head First Html 与Css》这本书的background-color部分,上面显示rgb的写法是每组之间有“,”,而我写的是

background-color:rgb(104 205 213); 而正确写法是background-color:rgb(104,205,213); 真惊喜,看来代码还是要多写写才行。


3  其中最难的部分就是路径问题了,我之前上传的图片路径是绝对路径,也就是“E:\book\任务三\bg.jpg”,这种情况下,在本地是没有问题的,但是一旦上传就有问题了,

因为服务器上面并没有E盘,所以最好是相对路径,提前把两个文件都放在同一个文件夹里面,这样更容易操作。

如果觉得这个有点繁琐,可以直接跳到最后,还有我自己发现的一个更简单的方法


参考文章:

http://www.cnblogs.com/heyonggang/archive/2013/03/01/2938984.html

作者:夏雪冬日

在HTML里只要涉及文件的地方(如超级链接、图片等)就会涉及绝对路径与相对路径的概念。

 

 1.绝对路径

    绝对路径是指文件在硬盘上真正存在的路径。例如“bg.jpg”这个图片是存放在硬盘的“E:\book\网页布局代码\第2章”目录下,那么 “bg.jpg”这个图片的绝对路径就是“E:\book\网页布\代码\第2章\bg.jpg"。那么如果要使用绝对路径指定网页的背景图片就应该使用 以下语句:

<body backround="E:\book\网页布局\代码\第2章\bg.jpg" > 

 

  2.使用绝对路径的缺点

   事实上,在网页编程时,很少会使用绝对路径,如果使用“E:\book\网页布\代码\第2章\bg.jpg”来指定背景图片的位置,在自己的计算机上 浏览可能会一切正常,但是上传到Web服务器上浏览就很有可能不会显示图片了。因为上传到Web服务器上时,可能整个网站并没有放在Web服务器的E盘, 有可能是D盘或H盘。即使放在Web服务器的E盘里,Web服务器的E盘里也不一定会存在“E:\book\网页布局\代码\第2章”这个目录,因此在浏 览网页时是不会显示图片的。

 

  3.相对路径

    为了避免这种隋况发生,通常在网页里指定文件时,都会选择使用相对路径。所谓相对路径,就是相对于自己的目标文件位置。例如上面的例子,“s1.htm” 文件里引用了“bg.jpg”图片,由于“bg.jpg”图片相对于“s1.htm”来说,是在同一个目录的,那么要在“s1.htm”文件里使用以下代 码后,只要这两个文件的相对位置没有变(也就是说还是在同一个目录内),那么无论上传到Web服务器的哪个位置,在浏览器里都能正确地显示图片。

      <body background="bg.jpg">

再 举一个例子,假设“s1.htm”文件所在目录为“E:\book\网页布局\代码\第2章”,而“bg.jpg”图片所在目录为“E:\book\网页 布局\代码\第2章\img”,那么“bg.jpg”图片相对于“s1.htm”文件来说,是在其所在目录的“img”子目录里,则引用图片的语句应该 为:

      <body background="img/bg.jpg">  

 

    注意:相对路径使用“/”字符作为目录的分隔字符,而绝对路径可以使用“\”或“/”字符作为目录的分隔字符。由于“img”目录是“第2章”目录下的子目录,因此在“img”前不用再加上“/”字符。

在 相对路径里常使用“../”来表示上一级目录。如果有多个上一级目录,可以使用多个“../”,例如“http://www.cnblogs.com/”代表上上级目录。假设 “s1.htm”文件所在目录为“E:\book\网页布局\代码\第2章”,而“bg.jpg”图片所在目录为“E:\book\网页布局\代码”,那 么“bg.jpg”图片相对于“s1.htm”文件来说,是在其所在目录的上级目录里,则引用图片的语句应该为:

      <body background="../bg.jpg">  

 

  再举一个例子,假设“s1.htm”文件所在目录为“E:\book\网页布局\代码\第2章”,而“bg.jpg”图片所在目录为“E:\book\网 页布局\代码\img”,那么“bg.jpg”图片相对于“s1.htm”文件来说,是在其所在目录的上级目录里的“img”子目录里,则引用图片的语句 应该为:

      <body background="../img/bg.jpg">  

 

4.相对虚拟目录

有关相对路径还有一个比较特殊的表示:“相对虚拟目录”。请看下面的例子:

      <body background="/img/bg.jpg">  

 

  在这个例子里,background属性的值为“/img/bg.jpg”,注意在“img”前有一个“/”字符。这个“/”代表的是虚拟目录的根目录. 假设把“E:\book\网页布局\代码”设为虚拟目录,那么“/img/bg.jpg”的真实路径为“E:\book\网页布局\代码\img \bg.jpg”;如果把“E:\book\网页布局\代码\第2章”设为虚拟目录,那么“/img/bg.jpg”的真实路径为“E:\book\网页 布局\代码\第2章\img\bg.jpg”

  

不过在最后我还发现了一个更好的办法,在看《Head First Html 与Css》的时候,它上面关于<img>的src属性的讲解:

src属性不只是用于相对链接,还可以在src属性中放入url。图像与html页面一同存储在web服务器上,所以web上的每个图像都有自己的url。

如果不清楚url,可以看链接https://jingyan.baidu.com/article/2c8c281df0afd00008252aa7.html。

这个时候我就在想,因为我之前已经将图片上传到GitHub上面了,所以说现在服务器上面已经有这些图片的url了,这个时候我只需要把每个图片的url复制下来就可以了,比如"https://p4x666.github.io/-picture/images/task3_t.png",像这样的话,就可以完美解决问题。



返回列表 返回列表
评论

    分享到