搜索
首页web前端html教程CSS典型案例实践_html/css_WEB-ITnose

CSS案例实践

一、层布局:定位元素重叠

在CSS中可以通过z-index属性来确定定位元素的层叠等级。需要注意的是:

  • z-index属性只有在元素的position属性取值为relative、absolute或fixed时才可以使用。
  • 在z-index属性中,其值越大层叠级别就越高,如果两个绝对定位的元素的该属性具有相同的number值,那么将依据它们在HTML文档中声明的顺序层叠。
  • z-index属性只能在同一级别的HTML上体现作用
  • 对于未指定此属性的绝对定位元素,可以看做值为auto,即自动设置,一般会根据父元素的定位进行确定;
  • 对于未指定此属性的绝对定位元素,此属性的number值为正数的元素会在其之上,为负数则在其之下。
  • eg:

     1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4     <meta charset="UTF-8"> 5     <title>定位元素层叠</title> 6     <style type="text/css"> 7         body{ 8             margin: 0; 9             padding: 0;;10         }11         #contain1{12             position: absolute;13             z-index: 10;14             width: 200px;15             height: 200px;16             background-color: #5d63fa;17         }18         #contain2{19             position: absolute;20             z-index: 1;21             width: 200px;22             height: 200px;23             background-color: brown;24             left: 30px;25             top:30px;26         }27     </style>28 </head>29 <body>30     <div id="contain1"></div>31     <div id="contain2"></div>32 </body>33 </html>

    效果:

    如果将z-index属性的设置注释掉,则效果如下:

      

    二、布局实战:高度自适应

      网页布局中经常需要定义元素的高度和宽度,但很多时候我们希望元素的大小能够根据窗口或父元素自动调整,这就是自适应。

    1、宽度自适应:宽度自适应比较简单,只需要为元素的width属性定义一个百分比即可。

    2、高度自适应:定义html和body的高度都为100%即可。(在IE浏览器中html的高度默认值为100%,body没有设置值;在非IE浏览器中,html和body都没有预定义高度的值)

     eg:如果没有定义html和body的高度:

     1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4     <meta charset="UTF-8"> 5     <title>高度自适应</title> 6     <style type="text/css"> 7         #contain{    /*定义父元素显示属性*/ 8             width:100%; 9             height: 100%;   /*满屏显示*/10             background-color: burlywood;11         }12         #center{13             height: 50%;14             background-color: darkslateblue;15             width: 50%;16         }17     </style>18 </head>19 <body>20 <div id="contain">21     <div id="center">高度自适应</div>22 </div>23 </body>24 </html>

    效果:

    定义之后:

     1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4     <meta charset="UTF-8"> 5     <title>高度自适应</title> 6     <style type="text/css"> 7         html,body{ 8             height: 100%; 9         }10         #contain{    /*定义父元素显示属性*/11             width:100%;12             height: 100%;   /*满屏显示*/13             background-color: burlywood;14         }15         #center{16             height: 50%;17             background-color: darkslateblue;18             width: 50%;19         }20     </style>21 </head>22 <body>23 <div id="contain">24     <div id="center">高度自适应</div>25 </div>26 </body>27 </html>

    效果:

        *如果把子元素对象设置为浮动显示或绝对定位显示,高度依然能够自适应。

     三、设计液态宽度的单栏页面

      液态宽度:即用百分比控制,而不是像素

    eg:HTML部分:

     1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4     <meta charset="UTF-8"> 5     <title>单列页面</title> 6     <link href="2.css" rel="stylesheet" type="text/css"> 7 </head> 8 <body> 9     <div id="banner">10         <h1 id="散文集-sub-朱自清-sub"> 散文集<sub>朱自清</sub></h1>      <!--作者朱自清作为下标-->11         <nav>12             <a href="#">作者生平</a>13             <a href="#">故事背景</a>14             <a href="#">词语注释</a>15             <a href="#">作品手法欣赏</a>16             <a href="#">上一篇文章</a>17             <a href="#">下一篇文章</a>18         </nav>19     </div>20     <div id="maincontent">21         <div id="maintext">22             <h4 id="荷塘月色-节选">荷塘月色(节选)</h4>23             <p>这几天心里颇不宁静。今晚在院子里坐着乘凉,忽然想起日日走过的荷塘,在这满月的光里,总该另有一番样子吧。月亮渐渐地升高了,墙外马路上孩子们的欢笑,已经听不见了;妻在屋里拍着闰儿⑴,迷迷糊糊地哼着眠歌。我悄悄地披了大衫,带上门出去。<br></p>24             <p> 沿着荷塘,是一条曲折的小煤屑路。这是一条幽僻的路;白天也少人走,夜晚更加寂寞。荷塘四面,长着许多树,蓊蓊郁郁⑵的。路的一旁,是些杨柳,和一些不知道名字的树。没有月光的晚上,这路上阴森森的,有些怕人。今晚却很好,虽然月光也还是淡淡的。<br></p>25             <p> 路上只我一个人,背着手踱⑶着。这一片天地好像是我的;我也像超出了平常的自己,到了另一个世界里。我爱热闹,也爱冷静;爱群居,也爱独处。像今晚上,一个人在这苍茫的月下,什么都可以想,什么都可以不想,便觉是个自由的人。白天里一定要做的事,一定要说的话,现 在都可不理。这是独处的妙处,我且受用这无边的荷香月色好了。<br></p>26             <p><span>曲</span>曲折折的荷塘上面,弥望⑷的是田田⑸的叶子。叶子出水很高,像亭亭的舞女的裙。层层的叶子中间,零星地点缀着些白花,有袅娜⑹地开着的,有羞涩地打着朵儿的;正如一粒粒的明珠,又如碧天里的星星,又如刚出浴的美人。微风过处,送来缕缕清香,仿佛远处高楼上渺茫的歌声似的。这时候叶子与花也有一丝的颤动,像闪电般,霎时传过荷塘的那边去了。叶子本是肩并肩密密地挨着,这便宛然有了一道凝碧的波痕。叶子底下是脉脉⑺的流水,遮住了,不能见一些颜色;而叶子却更见风致⑻了。<br></p>27             <p>月光如流水一般,静静地泻在这一片叶子和花上。薄薄的青雾浮起在荷塘里。叶子和花仿佛在牛乳中洗过一样;又像笼着轻纱的梦。虽然是满月,天上却有一层淡淡的云,所以不能朗照;但我以为这恰是到了好处——酣眠固不可少,小睡也别有风味的。月光是隔了树照过来的,高处丛生的灌木,落下参差的斑驳的黑影,峭楞楞如鬼一般;弯弯的杨柳的稀疏的倩影,却又像是画在荷叶上。塘中的月色并不均匀;但光与影有着和谐的旋律,如梵婀玲⑼上奏着的名曲。<br></p>28         </div>29         <div id="round">30             <img  src="/static/imghwm/default1.png"  data-src="image/1.png"  class="lazy"     style="max-width:90%" height="300px"/ alt="CSS典型案例实践_html/css_WEB-ITnose" >31             <p>朱自清(1898年11月22日—1948年8月12日),原名自华,号秋实,后改名自清,字佩弦。原籍浙江绍兴,出生于江苏省东海县(今连云港市东海县平明镇)。现代杰出的散文家、诗人、学者、民主战士。</p>32         </div>33     </div>34 </body>35 </html>

    css样式:

     1 *{ 2     margin: 0;  /*清除页边距*/ 3     padding:0; 4 } 5 body{ 6     margin: 0;  /*清除页边距*/ 7     padding:0; 8     height: 100%; 9 10 }11 #banner{     /*顶部框架样式*/12     width: 100%;13     height: 180px;14     background-color: #aaac90;15 }16 h1{17     margin-left:10%;18     padding-top: 20px;19     font-family: verdana,sans-serif;20     font-size: 50px;21     color: brown;22 }23 sub{24     font-size: 28px;25     color: black;26 }27 nav{    /*定义导航栏属性*/28     margin-left: 10px;29     padding-top: 55px;30 }31 a{32     text-decoration: none;    /*去掉下划线*/33     background-color: cornflowerblue;34     padding:10px 20px 10px 20px;35     float: left;36     border-right: solid 2px snow;37 }38 a:visited,a:link{39     color: snow;40 }41 a:hover,a:active{42     color: slateblue;43     text-decoration: underline;    /*设置下划线*/44 }45 /*定义底部*/46 #maincontent{   /*底部框架样式*/47     top:200px;48     width: 80%;49     height: 800px;50     margin: 0 auto;51 }52 #maintext{      /*定义底部文字部分样式*/53     width:65%;54     float: left;    /*文字部分向左浮动*/55     margin-top: 20px;    /*距离底部边缘10px*/56     margin-right: 20px;57 }58 #round{     /*定义底部图片部分样式*/59     width:30%;60     height: 600px;61     float:right;      /*图片部分向右浮动*/62     background-color:black;63     border: solid 2px darkslateblue;64     border-radius: 2em;    /*定义圆角边框*/65     margin-top: 20px;    /*距离底部边缘10px*/66 }67 #round p{68     color: snow;69     padding: 20px 10px;70 }71 #round img{72     padding: 20px 10px;73 }74 p{75     line-height: 2em;   /*文字行高*/76     text-indent: 2em;    /*首行缩进*/77     padding-top: 10px;78 }79 span{80     line-height: 100%;81     font-size: 50px;82     background-color: powderblue;83 }

    效果:

     

    四、设计多级菜单:平行式二级菜单

    eg:html代码:

     1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4     <meta charset="UTF-8"> 5     <title>平行式二级菜单</title> 6     <link href="mynav.css" rel="stylesheet" type="text/css"> 7 </head> 8 <body> 9     <div id="menu">10         <ul>11             <li><a href="#">菜单一</a>12                <ul>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                </ul>18             </li>19             <li><a href="#">菜单二</a>20                 <ul>21                     <li><a href="#">子菜单一</a></li>22                     <li><a href="#">子菜单二</a></li>23                     <li><a href="#">子菜单三</a></li>24                     <li><a href="#">子菜单四</a></li>25                 </ul>26             </li>27             <li><a href="#">菜单三 </a></li>28             <li><a href="#">菜单四</a></li>29             <li><a href="#">菜单五</a></li>30         </ul>31     </div>32 </body>33 </html>

    CSS样式:

     1 #menu ul{     /*清除所有列表的样式,即去掉前面的圆点*/ 2     list-style-type: none; 3 } 4 #menu li{ 5     float: left;    /*向左浮动,使链接横向排列*/ 6     position: relative;  /*相对定位,定义包含快*/ 7 } 8 #menu ul ul{     /*定义二级列表属性*/ 9     visibility: hidden;   /*先默认隐藏起来*/10     position: absolute;    /*绝对定位,根据父元素li精确定位*/11     left: -40px;   /*距离父元素li左侧2像素*/12     top: 25px;  /*距离顶部23像素,相当于在主菜单底部显示*/13 }14 #menu a{     /*定义超链接属性*/15     text-decoration: none;   /*去掉链接下划线*/16     background-color: darkslateblue;17     color: snow;   /*定义文字颜色*/18     border: solid 2px burlywood;   /*定义边框*/19     padding: 8px 25px;   /*定义主菜单列表项的内边距,加宽菜单项显示*/20     margin: 3px 1px;   /*定义主菜单列表项的外边距,为每个菜单项增加间隙*/21 }22 #menu ul li:hover ul{     /*定义一级列表的每一列在鼠标经过时,显示隐藏的二级列表*/23     visibility: visible;24 }25 #menu ul ul li{26     clear: both;   /*清除两侧的浮动,避免列表项之间的重叠*/27 }28 #menu ul ul li a{29     display: block;   /*很重要!使a元素块状显示*/30     width: 70px;31     height: 20px;32     margin: 0;   /*清除边界*/33 }34 #menu ul a:hover{35     background-color: burlywood;36     text-decoration: underline;37 }

    效果:

     

    五、设计多级菜单:垂直式多级菜单

    1、HTML代码:

     1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4     <meta charset="UTF-8"> 5     <title>垂直式多级菜单</title> 6     <link rel="stylesheet" href="mynav2.css" type="text/css"> 7 </head> 8 <body> 9     <div id="menu">10         <ul>11             <li><a href="#">菜单一</a>12                 <ul>13                     <li><a href="#">菜单一1</a>14                         <ul>15                             <li><a href="#">菜单一1-1</a>16                                 <ul>17                                     <li><a href="#">菜单一1-1-1</a></li>18                                     <li><a href="#">菜单一1-1-2</a></li>19                                     <li><a href="#">菜单一1-1-3</a></li>20                                     <li><a href="#">菜单一1-1-4</a></li>21                                 </ul>22                             </li>23                             <li><a href="#">菜单一1-2</a></li>24                             <li><a href="#">菜单一1-3</a></li>25                             <li><a href="#">菜单一1-4</a></li>26                         </ul>27                     </li>28                     <li><a href="#">菜单一2</a></li>29                     <li><a href="#">菜单一3</a></li>30                     <li><a href="#">菜单一4</a></li>31                 </ul>32             </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     </div>39 </body>40 </html>

    2、css样式:

     1 #menu ul{    /*定义一级列表属性*/ 2     list-style: none;  /*去掉了所有列表项前面的圆点*/ 3     font-size: 24px; 4     position: absolute; 5 } 6 #menu li{     /*定义一级列表项属性*/ 7     height: 40px; 8 } 9 #menu a{10     text-decoration: none;   /*去掉所有超链接的下划线*/11     background-color: slateblue;12     padding: 5px 20px;13     color: snow;14     border: solid 2px cornflowerblue;15 }16 #menu ul ul{17     visibility: hidden;   /*隐藏二级菜单*/18     position: relative;19     top:-25px;20     left:78px;21 }22 #menu ul ul ul ul{23     position: relative;24     top: -25px;25     left: 110px;26 }27 #menu :hover>a {     /*定义在现代标准浏览器中鼠标经过链接的样式。重要!!!*/28     background-color: burlywood;29     text-decoration: underline;30 }31 #menu ul li:hover ul{   /*鼠标经过一级菜单时显示二级菜单*/32     visibility: visible;33 }34 #menu ul li:hover ul ul{    /*鼠标经过一级菜单时隐藏三级菜单*/35      visibility: hidden;36  }37 #menu ul ul li:hover ul ul{    /*鼠标经过二级菜单时隐藏四级菜单*/38     visibility: hidden;39 }40 #menu ul ul li:hover ul {    /*鼠标经过二级菜单时显示三级菜单*/41     visibility: visible;42 }43 #menu ul ul ul li:hover ul {    /*鼠标经过三级菜单时显示四级菜单*/44     visibility: visible;

    3、效果:
    鼠标一层层的放上去:

     

    声明
    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
    HTML与CSS和JavaScript:比较Web技术HTML与CSS和JavaScript:比较Web技术Apr 23, 2025 am 12:05 AM

    HTML、CSS和JavaScript是构建现代网页的核心技术:1.HTML定义网页结构,2.CSS负责网页外观,3.JavaScript提供网页动态和交互性,它们共同作用,打造出用户体验良好的网站。

    HTML作为标记语言:其功能和目的HTML作为标记语言:其功能和目的Apr 22, 2025 am 12:02 AM

    HTML的功能是定义网页的结构和内容,其目的在于提供一种标准化的方式来展示信息。1)HTML通过标签和属性组织网页的各个部分,如标题和段落。2)它支持内容与表现分离,提升维护效率。3)HTML具有可扩展性,允许自定义标签增强SEO。

    HTML,CSS和JavaScript的未来:网络开发趋势HTML,CSS和JavaScript的未来:网络开发趋势Apr 19, 2025 am 12:02 AM

    HTML的未来趋势是语义化和Web组件,CSS的未来趋势是CSS-in-JS和CSSHoudini,JavaScript的未来趋势是WebAssembly和Serverless。1.HTML的语义化提高可访问性和SEO效果,Web组件提升开发效率但需注意浏览器兼容性。2.CSS-in-JS增强样式管理灵活性但可能增大文件体积,CSSHoudini允许直接操作CSS渲染。3.WebAssembly优化浏览器应用性能但学习曲线陡,Serverless简化开发但需优化冷启动问题。

    HTML:结构,CSS:样式,JavaScript:行为HTML:结构,CSS:样式,JavaScript:行为Apr 18, 2025 am 12:09 AM

    HTML、CSS和JavaScript在Web开发中的作用分别是:1.HTML定义网页结构,2.CSS控制网页样式,3.JavaScript添加动态行为。它们共同构建了现代网站的框架、美观和交互性。

    HTML的未来:网络设计的发展和趋势HTML的未来:网络设计的发展和趋势Apr 17, 2025 am 12:12 AM

    HTML的未来充满了无限可能。1)新功能和标准将包括更多的语义化标签和WebComponents的普及。2)网页设计趋势将继续向响应式和无障碍设计发展。3)性能优化将通过响应式图片加载和延迟加载技术提升用户体验。

    HTML与CSS vs. JavaScript:比较概述HTML与CSS vs. JavaScript:比较概述Apr 16, 2025 am 12:04 AM

    HTML、CSS和JavaScript在网页开发中的角色分别是:HTML负责内容结构,CSS负责样式,JavaScript负责动态行为。1.HTML通过标签定义网页结构和内容,确保语义化。2.CSS通过选择器和属性控制网页样式,使其美观易读。3.JavaScript通过脚本控制网页行为,实现动态和交互功能。

    HTML:是编程语言还是其他?HTML:是编程语言还是其他?Apr 15, 2025 am 12:13 AM

    HTMLISNOTAPROGRAMMENGUAGE; ITISAMARKUMARKUPLAGUAGE.1)htmlStructures andFormatSwebContentusingtags.2)itworkswithcsssforstylingandjavascript for Interactivity,增强WebevebDevelopment。

    HTML:建立网页的结构HTML:建立网页的结构Apr 14, 2025 am 12:14 AM

    HTML是构建网页结构的基石。1.HTML定义内容结构和语义,使用、、等标签。2.提供语义化标记,如、、等,提升SEO效果。3.通过标签实现用户交互,需注意表单验证。4.使用、等高级元素结合JavaScript实现动态效果。5.常见错误包括标签未闭合和属性值未加引号,需使用验证工具。6.优化策略包括减少HTTP请求、压缩HTML、使用语义化标签等。

    See all articles

    热AI工具

    Undresser.AI Undress

    Undresser.AI Undress

    人工智能驱动的应用程序,用于创建逼真的裸体照片

    AI Clothes Remover

    AI Clothes Remover

    用于从照片中去除衣服的在线人工智能工具。

    Undress AI Tool

    Undress AI Tool

    免费脱衣服图片

    Clothoff.io

    Clothoff.io

    AI脱衣机

    Video Face Swap

    Video Face Swap

    使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

    热工具

    记事本++7.3.1

    记事本++7.3.1

    好用且免费的代码编辑器

    DVWA

    DVWA

    Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

    螳螂BT

    螳螂BT

    Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

    SublimeText3汉化版

    SublimeText3汉化版

    中文版,非常好用

    mPDF

    mPDF

    mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),