CSS结构性伪类选择器—nth-of-type实现自定义导航菜单案例解析(代码实例)

本文目标:

1、掌握css中结构性伪类选择器—nth-of-type的用法

问题:

1、实现以下自定义导航菜单,且使用纯DIV+CSS,必须使用结构性伪类选择器—nth-of-type

实现效果.png

附加说明:

1、导航宽800px,高90px,居中显示

立即学习“前端免费学习笔记(深入)”;

2、雪花背景图片宽高都是50px,酒瓶图片大小也是一样

现在来具体操作

1、准备素材:结合目标效果我们可以做一张酒瓶的图片,背景是透明的,这样背景颜色更改了,它里面透明的部分也可以随之变化,还有左右两片雪花,也是所需的素材

jptm.png

xh2.png

2、创建好index.html,写好架构,架构如何分析呢

思路分析:

1、目标导航分为6个子项,所以我们可以使用常用的li来实现它,li是水平排列,所以肯定需要浮动起来,所以最后一个li我们可以清除浮动,达到ul依然可以有效包裹住里面所有的浮动起来的li

2、1,3,5导航背景是蓝色,2,4,6的导航背景是黄色,所以li的颜色都是呈现规律性的变化,所以此时我们可使用nth-of-type

3、每个导航都是上下两部分,上部分是一张图片,下部分是文字

好,先按照分析,写好思路,暂时不管css的实现

        CSS结构性伪类选择器—nth-of-type实现自定义导航菜单案例解析    
  • @@##@@
    导航一
  • @@##@@
    导航二
  • @@##@@
    导航三
  • @@##@@
    导航四
  • @@##@@
    导航五
  • @@##@@
    导航六

3、写样式 ,创建css文件夹,里面新建index.css,里面的样式怎么写了,以下是分析思路

思路分析:

.container * 公共样式

1、写了这么多案例,这一步基本上是必不可少的,也是为了减少代码冗余性,所以在这里我们可以定义公共的样式

所以index.css中添加代码如下:

.container *{    padding:0;    margin:0;}

.container 外层容器

1、根据说明得知,宽600,高90,左右填充间隔为100,背景色土黄,带圆角,要居中,背景图片是多个,第一个背景图片水平居左,第二个背景图片水平居右,垂直方向上都是居中,背景图片大小为50px

所以index.css中添加代码如下:

.container{    width: 600px;    height: 90px;    background-color: burlywood;    color: white;    margin: 0 auto;    border-radius: 15px;    padding:0 100px;    background-image: url(../images/xh2.png),url(../images/xh2.png);    background-size: 50px 50px;    background-position-x: left,right;    background-repeat: no-repeat;    background-position-y: center;}

li 列

1、不带默认黑点,所以list-style:none,水平排列所以float:left,宽度都一样,所以width=600/6=100px,字体居中text-align: center;

所以index.css中添加代码如下:

li{    list-style: none;    float: left;    width:100px;    text-align: center;}

img图片

1、根据要求得知宽高都是50,且要居中,所以里面的图片的宽高正好等于图片容器的大小,所以宽100%,高100%

所以index.css中添加代码如下:

.img{    width: 50px;    height: 50px;    margin:0 auto;    }.img img{    width:100%;    height: 100%;}

clear清除浮动列

1、因为该列的目的是清除浮动

所以index.css中添加代码如下:

li.clear{    width:0;    height: 0;    clear: both;    float: none;}

title文字

1、上下存有填充距离,所以index.css中添加代码如下:

.title{    padding:10px;}

li的单独设置:

1、1,3,5导航背景是蓝色,2,4,6的导航背景是黄色,所以说明奇数列背景是蓝色,偶数列背景是黄色,正好nth-of-type可以带表达式,所以index.css中添加代码如下:

li:nth-of-type(2n){    background-color:lightgoldenrodyellow;    color:peru;}li:nth-of-type(2n+1){    background-color:lightblue;}

到此为止,index.css代码如下:

.container *{    padding:0;    margin:0;}.container{    width: 600px;    height: 90px;    background-color: burlywood;    color: white;    margin: 0 auto;    border-radius: 15px;    padding:0 100px;    background-image: url(../images/xh2.png),url(../images/xh2.png);    background-size: 50px 50px;    background-position-x: left,right;    background-repeat: no-repeat;    background-position-y: center;}li{    list-style: none;    float: left;    width:100px;    text-align: center;}.img{    width: 50px;    height: 50px;    margin:0 auto;    }.img img{    width:100%;    height: 100%;}li.clear{    width:0;    height: 0;    clear: both;    float: none;}.title{    padding:10px;}li:nth-of-type(2n){    background-color:lightgoldenrodyellow;    color:peru;}li:nth-of-type(2n+1){    background-color:lightblue;}

然后将index.css引入index.html中

        CSS结构性伪类选择器—nth-of-type实现自定义导航菜单案例解析        
  • @@##@@
    导航一
  • @@##@@
    导航二
  • @@##@@
    导航三
  • @@##@@
    导航四
  • @@##@@
    导航五
  • @@##@@
    导航六

最终运行效果如下:

CSS结构性伪类选择器—nth-of-type实现自定义导航菜单案例解析(代码实例)

总结:

1、学习了结构性伪类选择器—nth-of-type用法,这里的难点也是在于表达式,所以写代码的时候需要多花点耐心去总结规律

CSS结构性伪类选择器—nth-of-type实现自定义导航菜单案例解析(代码实例)CSS结构性伪类选择器—nth-of-type实现自定义导航菜单案例解析(代码实例)CSS结构性伪类选择器—nth-of-type实现自定义导航菜单案例解析(代码实例)CSS结构性伪类选择器—nth-of-type实现自定义导航菜单案例解析(代码实例)CSS结构性伪类选择器—nth-of-type实现自定义导航菜单案例解析(代码实例)CSS结构性伪类选择器—nth-of-type实现自定义导航菜单案例解析(代码实例)CSS结构性伪类选择器—nth-of-type实现自定义导航菜单案例解析(代码实例)CSS结构性伪类选择器—nth-of-type实现自定义导航菜单案例解析(代码实例)CSS结构性伪类选择器—nth-of-type实现自定义导航菜单案例解析(代码实例)CSS结构性伪类选择器—nth-of-type实现自定义导航菜单案例解析(代码实例)CSS结构性伪类选择器—nth-of-type实现自定义导航菜单案例解析(代码实例)1.png

以上就是CSS结构性伪类选择器—nth-of-type实现自定义导航菜单案例解析(代码实例)的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1615437.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 04:53:56
下一篇 2025年12月24日 04:54:09

相关推荐

  • 使用 CSS 实现一个简单的骨架屏(Skeleton Screen)

    前言 在加载网络数据时,为了提升用户体验,通常会使用一个转圈圈的loading动画,或者使用skeleton screen占位。相比与loading动画,skeleton screen的效果要更生动,实现起来来也很简单。利用css就可以实现一个简单的skeleton screen。(什么是骨架屏(s…

    2025年12月24日 好文分享
    000
  • css选择器有哪些?哪些属性是可以继承的?

    css选择器: id选择器(#myid)、类选择器(.myclassname)、标签选择器(div, h1, p)、相邻选择器(h1 + p)、子选择器(ul > li)、后代选择器(li a)、通配符选择器(*)、属性选择器(a[rel=”external”])、伪类选择器(a:hover,…

    2025年12月24日
    000
  • 如何合理使用CSS框架?

    现在的网站风格已经与它们很早之前的样子有了很大的不同。如果现在再回过头去看有些公司最初的网站UI,我想大多数互联网用户都很难认得出来。所以也多亏了网页设计技术的创新,现在网站不仅仅是只能显示信息,它们同样也可以拥有有趣的动画、多样的布局和互动的元素。而其中,这些大部分都是由CSS来实现的。 所以CS…

    2025年12月24日
    000
  • 如何实现css代码复用

    如何实现css代码复用? (推荐学习:css快速入门) 建议如下: 1、在做CSS项目规划时,首先写好reset类代码; 因为浏览器对于标签是有默认样式的。 立即学习“前端免费学习笔记(深入)”; 2、划分CSS原子类; 一个大型的项目,会有一些常用的css规则,比如text-align,float…

    2025年12月24日
    000
  • CSS 实现拖拽改变布局大小

    利用浏览器非overflow:auto元素设置resize可以拉伸的特性实现无JavaScript的分栏宽度控制。 推荐视频教程:《CSS视频教程-玉女心经版》 webkit浏览器下滚动条可以自定义,其中resize区域大小就是scrollbar的大小,于是,我们可以将整个拉伸区域变成和容器一样高。…

    2025年12月24日 好文分享
    000
  • css实现背景图片拉伸填充

    首先我们知道用作背景图片的有两类: (推荐学习:css快速入门) 1、一整张大图,尺寸和区域大小刚好吻合; 2、一个很小的条状图,通过repeat后,形成一个很规则的大图背景。 那么如何实现背景图片拉伸填充呢? 立即学习“前端免费学习笔记(深入)”; 方法如下: 背景图尺寸(数值表示方式): 代码如…

    2025年12月24日
    000
  • 10个 你可能不熟悉的 css伪类 及其用例介绍

    css 伪类是用于向某些选择器添加特殊的效果,是动态的,指当前元素所处的状态或者特性。只有一个元素达到一个特定状态时,它可能得到一个伪类的样式;当状态改变时,它又会失去这个样式。 这篇文章在一定程度上鼓励你在构建UI时使用更简单的CSS和更少的 JS。熟悉 CSS 所提供的一切是实现这一目标的一种方…

    2025年12月24日 好文分享
    000
  • CSS Position 属性值有哪些?

    CSS Position属性值有:1、static,是position的默认值;2、fixed,生成固定定位的元素;3、absolute,生成绝对定位的元素;4、relative,生成相对定位的元素;5、inherit,继承父级属性值。 1、position: relative;相对定位 不影响元素…

    2025年12月24日
    000
  • 使用CSS如何绘制五角星?(附代码)

    下面本篇文章给大家介绍一下如何使用纯CSS绘制五角星、六角形、五边形、六边形、心形。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 1、五角星 #star-five { margin: 50px 0; position: relative; display: block; colo…

    2025年12月24日 好文分享
    000
  • 你一定要知道的css属性值规范

    1、如果值是0,通常都不用带单位 例如: .list{ border: 1px solid 0px; margin: 0px;} 改成: .list{ border: 1px solid 0; margin: 0;} 但是有个特例,就是和时间有关的时间单位都要带上秒s,如下两个都是不合法的: tra…

    2025年12月24日
    000
  • 纯css实现加号“+”效果(代码示例)

    本篇文章来给大家通过代码示例介绍一下使用纯css实现加号“+”效果的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。 实现下图的加号效果: 若想实现这个效果, 只需一个div元素即可搞定。 立即学习“前端免费学习笔记(深入)”; 需要用到css的为了before和after, …

    2025年12月24日 好文分享
    000
  • 为什么不建议使用@import引入css

    不建议使用@import主要有以下两点原因: 原因一、使用@import引入CSS会影响浏览器的并行下载 使用@import引用的CSS文件只有在引用它的那个css文件被下载、解析之后,浏览器才会知道还有另外一个css需要下载,这时才去下载,然后下载后开始解析、构建render tree等一系列操作…

    2025年12月24日
    000
  • CSS 预处理器

    CSS 预处理器是什么?一般来说,它们基于 CSS 扩展了一套属于自己的 DSL(Domain Specific Language),来解决我们书写 CSS 时难以解决的问题: 语法不够强大,比如无法嵌套书写导致模块化开发中需要书写很多重复的选择器;没有变量和合理的样式复用机制,使得逻辑上相关的属性…

    好文分享 2025年12月24日
    000
  • CSS 中伪类的使用(干货)

    css 伪类是用于向某些选择器添加特殊的效果,是动态的,指当前元素所处的状态或者特性。只有一个元素达到一个特定状态时,它可能得到一个伪类的样式;当状态改变时,它又会失去这个样式。 这篇文章在一定程度上鼓励你在构建UI时使用更简单的CSS和更少的 JS。熟悉 CSS 所提供的一切是实现这一目标的一种方…

    2025年12月24日 好文分享
    000
  • 使用CSS实现皮卡丘

    前言 当我学完css和js后,冒出来一个想法。自己去实现一个可爱的卡通人物。于是我就去codepen找素材,最终选择了皮卡丘,如下图。 准备工作 在开始写皮卡丘之前,我先观察了皮卡丘的整个页面。发现如果要很好的实现这个皮卡丘你不能像写传统网页那样从左到右布局,而是要从中间布局,因为左右两边对称。理清…

    2025年12月24日 好文分享
    000
  • 如何使用css来控制页面

    使用css对页面进行全方位的控制,主要的方法有四种:行内样式、内嵌式、链接式和导入式,下面我们来分别看一下这四种方式: 一、行内样式 1、特点:最为直接的一种。 2、使用方式 直接在HTML的标记中,使用style属性,将CSS代码写在其中。 立即学习“前端免费学习笔记(深入)”; 3、举例说明 页…

    2025年12月24日 好文分享
    000
  • 利用css动画属性rotate来实现镜像翻转

    要实现镜像翻转,有两种实现方法: 方法一:利用css动画属性rotate旋转来实现 具体代码: .mirrorRotateLevel { transform: rotateY(180deg); /* 水平镜像翻转 */}.mirrorRotateVertical { transform: rotat…

    2025年12月24日
    000
  • css中实现背景透明的三种方式

    css中实现背景透明通常有如下3种方式,以下是这三种方式的不透明度为80%的写法: css3的opacity:x,x 的取值从 0 到 1,如opacity: 0.8 css3的rgba(red, green, blue, alpha),alpha的取值从 0 到 1,如rgba(255,255,2…

    2025年12月24日
    000
  • 结构性伪类选择器—nth-child实现彩色表格案例(代码实例 )

    本文目标: 1、掌握css中结构性伪类选择器—nth-child的用法 问题: 1、实现以下效果,且使用纯DIV+CSS,必须使用结构性伪类选择器—nth-child 当鼠标悬停在某个单元格上时,背景变成紫色 附加说明: 1、每个单元格宽145,带1个像素边框,左边padding为5,上下paddi…

    2025年12月24日 好文分享
    000
  • 利用css实现的表格样式展示

    本文为大家展示了几款美观的表格样式,希望大家可以喜欢。 1、单像素边框CSS表格 table.gridtable {font-family: verdana,arial,sans-serif;font-size:11px;color:#333333;border-width: 1px;border-…

    2025年12月24日 好文分享
    000

发表回复

登录后才能评论
关注微信