欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

HTML常用元素样式、定位学习与应用

程序员文章站 2022-03-13 12:51:54
...

1.常用样式

  1. /*列表样式*/
  2. list-style-type: disc;/*小黑点样式*/
  3. list-style-position: inside;/*控制小黑点位置*/
  4. list-style-image: url();/*把小黑点替换成图片样式*/
  5. list-style: none;/*去掉小黑点*/
  6. /*表格样式、字体样式*/
  7. border-collapse: collapse;/*折叠表格边框线*/
  8. text-align: center;/*文本放心水平居中*/
  9. font-weight: 600;/*加粗字体*/
  10. z-index: 999;/*层级控制样式*/
  1. /*flex弹性盒子布局样式*/
  2. display: flex;/*将元素转为弹性盒子*/
  3. flex-direction: row;/*水平分布*/
  4. flex-direction: column;/*垂直分布*/
  5. flex-wrap: nowrap;/*不允许项目换行*/
  6. flex-wrap: wrap;/*允许项目换行*/
  7. flex-flow: row nowrap;/*简写:水平/垂直 是否允许换行*/
  8. place-content: start;/*靠起始边对齐(左边)*/
  9. place-content: end;/*靠终止边对齐(右边)*/
  10. place-content: center;/*居中对齐*/
  11. /*水平方向,有剩余空间*/
  12. place-content: space-between;/*两端对齐*/
  13. place-content: space-around;/*分散对齐*/
  14. place-content: space-evenly;/*平均对齐*/
  15. /*垂直方向*/
  16. place-items: start;/*靠着起始边对齐*/
  17. place-items: end;/*靠着终止边对齐*/
  18. place-items: center;/*居中对齐*/
  19. /*项目属性*/
  20. flex-grow: 0;/*0为禁止放大,1为允许放大 */
  21. flex-shrink: 0;/*0为禁止缩小,1为允许缩小 */
  22. flex-basis: auto;/*项目宽度*/
  23. flex: 0 1 auto;/*是否允许放大 是否允许缩小 宽度*/
  24. flex: inherit;/*默认值*/
  25. flex: auto;/*响应式缩放*/
  26. flex: none;/*禁止放大缩小*/
  27. order: 3;/*控制项目的排列顺序,默认为0*/
  1. /*grid布局样式*/
  2. display: grid;/*转为grid容器*/
  3. grid-template-columns: 10em 10em 10em;/*控制项目列宽,分别为几(3)列多(10em)宽*/
  4. grid-template-columns: repeat(3,10em);/*控制项目列宽,分别为几(3)列多(10em)宽*/
  5. grid-template-rows:10em 10em;/*控制项目行高,分别为几(3)行多(10em)高*/
  6. grid-template-rows: repeat(2,10em);/*控制项目行高,分别为几(3)行多(10em)高*/
  7. /*fr计量单位,按比例划分,跟百分百类似*/
  8. /*隐式单元格既未被分配的那部分单元格*/
  9. grid-auto-flow: row;/*隐式单元格中的排列方式,row水平,column列排列*/
  10. grid-auto-rows: 1fr;/*隐式单元格行高*/
  11. /*控制项目空间的对齐方式*/
  12. place-items: start start;/*对齐样式:垂直方向 水平方向*/
  13. /*start:靠上 靠左 ; end:靠下 靠右 ;center:居中*/
  14. /*控制剩余空间的对齐方式*/
  15. place-content:start start;/*对齐样式:垂直方向 水平方向*/
  16. /*start:靠上 靠左 ; end:靠下 靠右 ;center:居中*/
  17. place-content: space-between;/*两端对齐*/
  18. place-content: space-around;/*分散对齐*/
  19. place-content: space-evenly;/*平均对齐*/
  20. /*控制项目的排列顺序*/
  21. grid-column-start: span 3;/*span 跨越几行几列*/
  22. grid-column-start: 1/3;/*起始1/结束4*/
  23. grid-column-start: 1/span 3;/*起始1/跨域3*/
  24. grid-column-start: 3;/*起始列*/
  25. grid-column-end: 3;/*结束列*/
  26. grid-row-start: 3;/*起始行*/
  27. grid-row-end: 3;/*结束行*/
  28. /*grid-area: 行开始/列开始/行介绍/列结束;*/
  29. grid-area: 1/4/1/2;

表格样式应用实例

  1. /*css*/
  2. <style>
  3. table{border-collapse: collapse;}
  4. table thead{background: rgb(204, 203, 203);}
  5. table caption{font-weight: 700;margin-bottom: 10px;}
  6. td,th{border: 1px solid #777;width: 5rem;text-align: center;}
  7. </style>
  8. /*html*/
  9. <table class="student">
  10. <caption>这是一个学生信息管理表</caption>
  11. <thead>
  12. <tr>
  13. <th>序号</th>
  14. <th>姓名</th>
  15. <th>性别</th>
  16. <th>出生年月</th>
  17. <th>家庭住址</th>
  18. <th>专业</th>
  19. <th>班级</th>
  20. </tr>
  21. </thead>
  22. <tbody>
  23. <tr>
  24. <td>1</td>
  25. <td>张三</td>
  26. <td></td>
  27. <td>2002/2/4</td>
  28. <td>广州</td>
  29. <td>商务英语</td>
  30. <td>1021</td>
  31. </tr>
  32. <tr>
  33. <td>2</td>
  34. <td>张三</td>
  35. <td></td>
  36. <td>2002/2/4</td>
  37. <td>广州</td>
  38. <td>商务英语</td>
  39. <td>1021</td>
  40. </tr>
  41. <tr>
  42. <td>3</td>
  43. <td>张三</td>
  44. <td></td>
  45. <td>2002/2/4</td>
  46. <td>广州</td>
  47. <td>商务英语</td>
  48. <td>1021</td>
  49. </tr>
  50. <tr>
  51. <td>4</td>
  52. <td>张三</td>
  53. <td></td>
  54. <td>2002/2/4</td>
  55. <td>广州</td>
  56. <td>商务英语</td>
  57. <td>1021</td>
  58. </tr>
  59. </tbody>
  60. <tfoot>
  61. <tr>
  62. <td colspan="7">这是一个表尾</td>
  63. </tr>
  64. </tfoot>
  65. </table>

HTML常用元素样式、定位学习与应用

2.元素定位

1.静态定位
—分为相对定位、绝对定位
—根据HTML文档书写顺序,由浏览器控制。
—当一个元素使用非static的定位属性,则这个元素转换为“定位元素”,受用户的控制,而非浏览器控制。

  1. position: static;/*默认静态定位*/
  2. position: relative;/*相对定位,相对于元素的原始位置进行偏移*/
  3. position: absolute;/*决定定位,相对于离它最近的定位元素进行定位*/
  4. position: sticky;/*粘性定位*/
  5. position: fixed;/*固定定位*/

粘性定位与绝对定位应用:

  1. <style>
  2. .new{height: 300px;overflow: scroll;border: 1px solid #777;}
  3. .Rednews{background: rgb(163, 6, 6);color: rgb(255, 255, 255);position: sticky;top: 0;}
  4. .homenews{background: rgb(170, 170, 170);color: rgb(19, 46, 167);position: sticky;top: 0;}
  5. .new a img{width: 5em;border-radius: 50%;position: fixed;right: 2em;top: 10em;z-index: 999;}
  6. </style>
  7. <div class="new">
  8. <a href=""><img src="../03.jpg" alt=""></a>
  9. <h3 class="Rednews">推荐新闻</h3>
  10. <ul>
  11. <li><a href="">*:加快建设世界重要人才中心和创新高地</a></li>
  12. <li><a href="">向人民英雄敬献花篮仪式9月30日上午举行 *将出席</a></li>
  13. <li><a href="">全面小康是全体人民的小康 | 全面小康是全面发展的小康</a></li>
  14. <li><a href="">续写奥运精彩 全运会完美收官</a></li>
  15. <li><a href="">弘扬伟大抗洪精神 凝聚中国力量</a></li>
  16. <li><a href="">大湾区之声热评:祖国的坚强后盾是香港经济发展的最大底气</a></li>
  17. <li><a href="">孟晚舟事件解决背后 外交部透露更多细节</a></li>
  18. <li><a href="">外媒:美军驻伊拉克基地疑似起火 现场黑烟冲天</a></li>
  19. <li><a href="">大湾区之声热评:祖国的坚强后盾是香港经济发展的最大底气</a></li>
  20. <li><a href="">孟晚舟事件解决背后 外交部透露更多细节</a></li>
  21. <li><a href="">外媒:美军驻伊拉克基地疑似起火 现场黑烟冲天</a></li>
  22. </ul>
  23. <h3 class="homenews">国内新闻</h3>
  24. <ul>
  25. <li><a href="">戏剧性一幕 波兰球员被铲倒后翻身掏出补给品吃</a></li>
  26. <li><a href="">公司管理人员嘲笑中国口音 普华永道CEO道歉</a></li>
  27. <li><a href="">河南醉汉闯进小学打校长反被打掉3颗牙 双双被刑拘</a></li>
  28. <li><a href="">男子冒充民警到宾馆“检查” 把服务员带走后强奸</a></li>
  29. <li><a href="">黑龙江一建设局出纳挪用贷款藏身寺庙16年 种菜打杂为生</a></li>
  30. <li><a href="">“佛媛”之后再现“病媛”:精致的住院照 生病不忘化妆?</a></li>
  31. <li><a href="">教授谈捐1亿奖励:我和家人花是浪费 和夫人商量做出决定</a></li>
  32. <li><a href="">清华大学AI虚拟学生“华智冰”首次出镜 入学计算机系</a></li>
  33. <li><a href="">大湾区之声热评:祖国的坚强后盾是香港经济发展的最大底气</a></li>
  34. <li><a href="">孟晚舟事件解决背后 外交部透露更多细节</a></li>
  35. <li><a href="">外媒:美军驻伊拉克基地疑似起火 现场黑烟冲天</a></li>
  36. </ul>
  37. </div>

粘性定位应用:
—实现标题随着滚动条移动,始终黏在顶部
HTML常用元素样式、定位学习与应用
绝对定位应用:
—实现右侧图片随着滚动条移动,始终固定在一个位置
HTML常用元素样式、定位学习与应用

登录案例:

—效果:点击登录按钮弹出登录输入框及遮罩,点击页面隐藏登录框,并且登录框固定在浏览器中间

—思路:
1.先写好登录基本样式、布局
2.使用position: relative;将模态框(包裹登录及遮罩的div)转为定位元素
3.使用position: fixed;元素将登录表单固定在浏览器中间,距离使用left、right、top进行控制
4.使用position: fixed;元素遮罩覆盖浏览器可视区域,距离使用left、right、top、bottom进行控制
5.使用display: none;隐藏模态框
6.使用js点击事件控制模态框的显隐
控制模态框显示:onclick=”document.querySelector(‘.biankuang’).style.display=’block’”
控制模态框隐藏:onclick=”document.querySelector(‘.biankuang’).style.display=’none’”

  1. /*css*/
  2. <style>
  3. .mode{margin: 0;padding: 0;}
  4. .mode-top{background: silver;padding: 0.5em 0.5em;display: flex;}
  5. .mode-top button{margin-left:auto ;width: 4em;}
  6. .biankuang{position: relative;display: none;}
  7. .biankuang-biaodan{
  8. position: fixed;
  9. border: 1px solid rgb(250, 250, 250);
  10. display:grid;
  11. gap:1em;
  12. left: 20em;
  13. right: 20em;
  14. top: 10em;
  15. bottom: 20em;
  16. background: rgb(255, 255, 255);
  17. }
  18. .biankuang-zhezhao{
  19. background: rgba(119, 119, 119, 0.534);
  20. position: fixed;
  21. top: 0;
  22. left: 0;
  23. right: 0;
  24. bottom: 0;
  25. }
  26. </style>
  27. /*html*/
  28. <div class="mode">
  29. <div class="mode-top">
  30. <h3>登录</h3>
  31. <button onclick="document.querySelector('.biankuang').style.display='block'">登录</button>
  32. </div>
  33. <div class="biankuang" onclick="document.querySelector('.biankuang').style.display='none'">
  34. <div class="biankuang-zhezhao"></div>
  35. <div class="biankuang-biaodan">
  36. <form action="" >
  37. <input type="text" placeholder="请输入账号">
  38. <input type="text" placeholder="请输入密码">
  39. <button>登录</button>
  40. </form>
  41. </div>
  42. </div>
  43. </div>

grid圣杯布局及导航栏应用

  1. /*css*/
  2. <style>
  3. body *{background: #777;}
  4. body{
  5. display: grid;
  6. gap: 0.5em;
  7. grid-template-columns: 10em 30em 10em;
  8. grid-template-rows: 3em minmax(600px,auto) 3em;
  9. place-content: center;
  10. }
  11. footer{grid-column-end: span 3;}
  12. header{grid-column-start: span 3;}
  13. .daohang{
  14. display: grid;
  15. grid-template-rows: repeat(1,2em);
  16. grid-template-columns: repeat(5,5em);
  17. place-content:center ;
  18. list-style: none;
  19. text-align: center;
  20. background: chartreuse;
  21. margin: 0;
  22. }
  23. .daohang,.daohang > li,.daohang > li a {
  24. background: black;
  25. color: #ffffff;
  26. place-items: center;
  27. }
  28. </style>
  29. /*html*/
  30. <header>页眉
  31. <ul class="daohang">
  32. <li><a href="">首页</a></li>
  33. <li><a href="">关于我们</a></li>
  34. <li><a href="">产品中心</a></li>
  35. <li><a href="">在线留言</a></li>
  36. <li><a href="">联系我们</a></li>
  37. </ul>
  38. </header>
  39. <aside>左侧</aside>
  40. <main>内容区</main>
  41. <aside>右侧</aside>
  42. <footer>页脚</footer>

HTML常用元素样式、定位学习与应用