博客列表 >第五课:简单的页面结构布局,字体图标和媒体查询的综合应用

第五课:简单的页面结构布局,字体图标和媒体查询的综合应用

屈世明
屈世明原创
2023年03月17日 19:23:30519浏览

先综合说明一下,再来上代码和效果

页面结构

最常见的页面结构就是上中下也即<header></header><main></main><footer></footer>三项,通过分别的CSS来将整个页面做切隔,显示代码如下:

  1. <body>
  2. <header>头部</header>
  3. <main>主体部分</main>
  4. <footer>脚部</footer>
  5. </body>

如果只做一个一屏高度的页面,那问题就来了:头脚高度都可以定,主体部分的高度如何定呢?
这时就用了新学的vh这个长度单位,1VH表示整个可视窗口的1/100,这时这些如下CSS设置

  1. header {
  2. width: 100vw;
  3. height: 20vh;
  4. min-height: 50px;
  5. background-color: aquamarine;
  6. }
  7. footer {
  8. width: 100vw;
  9. height: 10vh;
  10. background-color: bisque;
  11. }
  12. main {
  13. background-color: rgb(205, 248, 182);
  14. height: 70vh;
  15. outline: 1px solid;
  16. }

这样一来就把整个窗口用完了.

字体图标

所谓的字体图标就是用到的矢量图就和一个文字一样,可以进一步设置他的大小颜色等等,这比单纯的一个固定图片也好用得多.目前国内主要用的是阿里图标.
在使用上,可以将喜欢的图标保存到对应的项目中,生成在线链接,复制对应的代码(注意这个代码里,包含了所有此项目下的图标,使用时需要将整个链接导入到项目上,将对应项目下的每个图标的名称拿过来用到项目中,图片如下

图标导入和使用中,一般会生产一个单独的icon.css文件来管理所有的图标,在对应的html页面上,再导入css做对应处理,代码如下:

  1. <span class="iconfont icon-fasongtijiao fasongtijiao"></span>

html代码中,直接把图标放到span标签中即可(像文字一样),对应的图标名,放置在class样式中,样式中要写3项内容,分别是”iconfont”,”复制过来的图标名称”和”图标名称简写”—-我们在CSS样式中,一般图标名称简写来设计

  1. @import url(http://at.alicdn.com/t/c/font_3957852_atsrkm6th2k.css);
  2. .chazhao,.fasongtijiao{
  3. font-size: 2rem;
  4. color: blueviolet;
  5. margin-top: 0.2em;
  6. }
  7. .fasongtijiao:hover{
  8. /* font-size: 2rem; */
  9. color: red;
  10. cursor: pointer;
  11. }

注意导入时,对应的地址为http://*链接
*通过上面的操作,就实现了阿里图标在自己项目中的使用

媒体查询

一般使用上,媒体查询也会单独作为一个CSS引入,为的了针对不同宽度的终端来做针对性的显示,包括元素是否显示以及显示样式等等.

媒体查询语句

媒体查询语句为”@media (min-width: 740px) {}”,具体在设置上通过是从大到小,或从小到大来设计
注意中间and,在写的时候,前后必须要有空格,要不然等于没设置

媒体查询中,通常通过改变rem值来达到改变显示内容大小,比如:

  1. @media (min-width: 740px) {
  2. html {
  3. font-size: 18px;
  4. }
  5. }
  6. @media (min-width: 375px) and (max-width: 740px) {
  7. html {
  8. font-size: 12px;
  9. }
  10. .markword {
  11. display: none;
  12. }
  13. }
  14. @media (max-width: 375px) {
  15. html {
  16. font-size: 8px;
  17. }
  18. .markword{
  19. display: none;
  20. }
  21. .fasongtijiao {
  22. display: none;
  23. }
  24. }

最后的综合效果



对应的html代码

  1. <html lang="en">
  2. <head>
  3. <meta charset="UTF-8" />
  4. <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  6. <title>0316简单的页面结构布局 字体图标和媒体查询的综合应用</title>
  7. <link rel="stylesheet" href="0316.css">
  8. <link rel="stylesheet" href="icon.css" />
  9. <link rel="stylesheet" href="media.css" />
  10. </head>
  11. <body>
  12. <header>
  13. <!-- <span class="markword">请输入到查询的关键字</span> -->
  14. <input type="text" class="keyword" placeholder="请输入到查询的关键字" autofocus/>
  15. <span class="iconfont icon-fasongtijiao fasongtijiao"></span>
  16. <!-- <span class="iconfont icon-chazhao chazhao"></span> -->
  17. </header>
  18. <main>主体部分</main>
  19. <footer>脚部</footer>
  20. </body>
  21. </html>
  22. 其它一些元素的css样式
  23. ```css
  24. .keyword {
  25. margin-left: 1rem;
  26. margin-top: 1rem;
  27. width: calc(100vw - 5rem);
  28. height: 2rem;
  29. font-size: 1.5rem;
  30. }
  31. .fasongtijiao {
  32. vertical-align: middle;
  33. }
  34. .keyword:active + .fasongtijiao {
  35. color: yellow;
  36. }

最后一个知识点,如何保持input框+对应的元素,为整个窗口宽度呢?这里就用了CSS里的宽度计算公式,如keyword样式里的 width: calc(100vw - 5rem)

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议