二级下拉菜单布局(纵向、横向)

WPS表格多级联动下拉列表:用INDIRECT函数与名称管理器实现数据规范录入 在数据处理与报表设计中,数据验证是确保数据质量的基础技术,其核心在于通过预设规则限制输入内容,从而提升数据一致性。联动下拉列表基于间接引用原理,利用INDIRECT函数将文本字符串转换为动态区域引用,实现了前级选择决定后级选项的智能交互。这种技术能显著提升数据录入效率与准确性,避免手动输入错误,为后续的数据透视与统计分析提供清洁数据源。其典型应用场景包括行政区划选择、产品分类目录、客户信息管理等需要层级化、规范化数据的业务表单。本文以WPS表格为操作环境,详细解析了从数据源构建、名称定义到多级联动设置的完整 阅读详情
  • 一级菜单
  1. 在ul列表内建立li元素并清除默认样式
  2. 让所有li元素左浮动并清除浮动
DOM中文档结构如下:
<ul class="clearfix">
    <li><a href="#">1</a></li>
    <li><a href="#">2</a></li>
    <li><a href="#">3</a></li>
    <li><a href="#">4</a></li>
    <li><a href="#">5</a></li>
</ul>

CSS中的样式如下:

.ul1{
	width:510px;
	margin:0 auto;
}
.ul1 li{
	list-style:none;
	width:100px;
	line-height:45px;
	font-size:25px;
	text-align:center;
	border:1px #000 solid;
	float:left;
	background:#00F;
}
.ul1 a{
	color:#FFF;
	text-decoration:none;
}

效果图如下:


  • 二级下拉菜单(纵向)
  1. 在一级ul列表内建立一级li元素并清除默认样式
  2. 让所有一级li元素左浮动并清除浮动
  3. 在一级li内创建二级ul列表,二级ul列表内建立二级li元素并清除默认样式
  4. 设置二级ul列表属性display:none;让此元素不会被显示
  5. 在JS内动态设置一级li元素被点击时,让其下的二级ul列表属性切换为display:block;让此元素显示

DOM中文档结构如下:

<ul class="ul1 clearfix">
    <li><a href="#">一</a>
        <ul class="clearfix">
            <li><a href="#">1</a></li>
            <li><a href="#">2</a></li>
            <li><a href="#">3</a></li>
            <li><a href="#">4</a></li>
            <li><a href="#">5</a></li>
        </ul>	
    </li>
    <li><a href="#">二</a>
    	<ul class="clearfix">
            <li><a href="#">1</a></li>
            <li><a href="#">2</a></li>
            <li><a href="#">3</a></li>
            <li><a href="#">4</a></li>
            <li><a href="#">5</a></li>
        </ul>
    </li>
    <li><a href="#">三</a>
    	<ul class="clearfix">
            <li><a href="#">1</a></li>
            <li><a href="#">2</a></li>
            <li><a href="#">3</a></li>
            <li><a href="#">4</a></li>
            <li><a href="#">5</a></li>
        </ul>
    </li>
    <li><a href="#">四</a>
    	<ul class="clearfix">
            <li><a href="#">1</a></li>
            <li><a href="#">2</a></li>
            <li><a href="#">3</a></li>
            <li><a href="#">4</a></li>
            <li><a href="#">5</a></li>
        </ul>
    </li>
    <li><a href="#">五</a>
    	<ul class="clearfix">
            <li><a href="#">1</a></li>
            <li><a href="#">2</a></li>
            <li><a href="#">3</a></li>
            <li><a href="#">4</a></li>
            <li><a href="#">5</a></li>
        </ul>
    </li>
</ul>

CSS中的样式如下:

ul,li,a{
	margin:0;
	padding:0;
}
.ul1{
	width:510px;
	margin:0 auto;
}
.ul1 li{
	list-style:none;
	width:100px;
	line-height:45px;
	font-size:25px;
	text-align:center;
	border:1px #000 solid;
	float:left;
	background:#00F;
}
.ul1 a{
	color:#FFF;
	text-decoration:none;
}
.ul1 ul{
	display:none;
}
.ul1 ul li{
	list-style:none;
	width:100px;
	line-height:30px;
	text-align:center;
	border:1px #000 solid;
	background:#0FF;
}

清除浮动样式:

.clearfix:before,.clearfix:after{
	display:table;
	content:"";
}
.clearfix:after{
	clear:both;/*在所有元素的父元素上加伪类*/
}
.clearfix{
	*zoom:1;
}

JS中的样式如下:

var oUl1 = document.getElementsByTagName("ul")[0];
var aLi1 = oUl1.children;
var aUl2 = oUl1.getElementsByTagName("ul");
for(var i=0;i<aLi1.length;i++){
	aLi1[i].onclick = function(){
		this.getElementsByTagName("ul")[0].style.display = "block";
		this.style.backgroundColor = "red";
	}
}
for(var i=0;i<aUl2.length;i++){
	var aLi2 = aUl2[i].getElementsByTagName("li");
	for(var j=0;j<aLi2.length;j++){
		aLi2[j].onmouseover = function(){
			this.getElementsByTagName("a")[0].style.color = "red";
		}
		aLi2[j].onmouseout = function(){
			this.getElementsByTagName("a")[0].style.color = "white";
		}
	}
}

效果图如下:


  • 二级下拉菜单(横向)
  1. 在纵向的设计步骤基础上给二级li元素添加左浮动并清除浮动。

在CSS的样式中添加:

.ul1 ul{
	width:510px;
}
.ul1 ul li{
	float:left;
}

效果图如下:



Excel TRANSPOSE函数详解:从手动转置到动态数据重塑 数据整理是日常办公中最常见的需求之一,尤其在使用Excel处理报表时,经常需要对表格的行列方向进行转换。传统手工复制粘贴转置只能得到静态结果,源数据一变,就需要重新操作。而Excel中的TRANSPOSE函数通过建立动态数组引用,能够实现行列互换并同步更新,彻底解决了这一痛点。结合SORT、FILTER、SUMIFS等函数,还可以构建自动排序、条件筛选、多维度汇总的动态报表,大幅提升工作效率。无论是制作日常管理报表、整理外部数据,还是构建灵活的数据看板,掌握TRANSPOSE函数都能让Excel数据处理更加 阅读详情

相关推荐

前端监控体系:从Sentry到LogRocket错误追踪

Sentry是一款开源的实时错误追踪系统,支持多种语言和框架,包括JavaScript、React、Vue等。它提供了丰富的错误信息、堆栈跟踪和环境数据,帮助开发者快速定位和解决问题。LogRocket是一款前端监控和用户行为分析工具,它提供了视频回放、性能监控、错误追踪等功能。与Sentry不同,LogRocket更注重用户行为的全面分析。前端监控体系是确保应用稳定性和用户体验的重要保障。通过集成Sentry和LogRocket等监控工具,开发者可以实时追踪应用中的错误和用户行为,快速定位和解决问题。

shejizuopin的博客 1316

二级联动的下拉框

controller中: /** * 一级类目 *  * @param product * @return * @return */ @RequestMapping("/oneCascade.do") public @ResponseBody List oneCascade(HttpServletRequest request) { System.out.println("进

anmoyyh的博客 647

Ubuntu20.04实时内核补丁PREEMPT_RT编译与安装全流程解析

本文详细解析了在Ubuntu20.04系统上编译与安装实时内核补丁PREEMPT_RT的全流程。从内核与补丁版本匹配、编译环境准备,到内核配置、编译排错,再到最终安装、验证与进阶优化,提供了手把手的实战指南,旨在帮助机器人、工业控制等对实时性有苛刻要求的开发者构建低延迟、高确定性的Linux系统。

weixin_29213827的博客 188

Excel实用技巧——二级下拉菜单、数据验证

掌握Excel二级下拉选项:高效数据管理的秘诀揭秘!提升工作效率,从此告别繁琐操作。一文带你领略二级下拉选项的强大功能,助你在职场中脱颖而出,成为数据处理达人!立即阅读,开启你的Excel新篇章!

铭记yu心的博客 4460

利用DRONEKIT-SITL + MAVPROXY + QGroundControl模拟飞行

dronekit: 一种用于无人机控制的python库。 dronekit-sitl:一种本地仿真工具,相当于本地虚拟化了一个无人机。 mavproxy:数据转发软件(类似于插线板的感觉,一个输入,多个相同的输出)。打开一个Anaconda prompt 首先激活相应的环境 然后运行如下命令: 保持2中的Anaconda prompt处于运行状态,另打开一个Anaconda prompt窗口,运行如下命令: tcp:127.0.0.1:5760: SITL默认端口,作为mavproxy的输入,把输入数据转发

Done___的博客 4344

Python + Google AI 自动修复 Sonar Bug 实践

在工作中总会遇到种种不期而至的需求,比如前段时间突然要修复所有 Sonar Bug,涉及各种琐碎的代码风格问题,包括但不限于语法不规范、废弃注释等问题。这些项目都已经持续开发几年了,Sonar 上的问题层出不穷,各种问题已经累积到了上万个,手动修复不但费时费力,而且过程异常枯燥。

子洋 Blog 2417

layui二级菜单(动态树形结构)

由图可见pid为-1为父级菜单,父级菜单的id与子菜单的pid相对应。构建的实体类要与表中的字段名保持一致。想要的效果图父目录下就是子目录。

weixin_67338832的博客 1208

Pytest教程:Pytest插件原理

Pytest的插件系统是其强大功能的核心,它允许用户和开发者扩展和定制测试框架的行为。要深入理解Pytest插件的原理,我们需要从Pytest的架构和设计模式开始,然后深入到底层源码。

旦莫的博客 637

springboot+layuimini 数据库实现后台菜单权限管理

起源:老师上课我就不听 下课就自己疯狂肝。。。。(大家不要学我) 最近web课老师教了动态后台权限管理: 即把菜单内容放到数据库实现前端后台的菜单分角色权限实现不同菜单 因为太困了 没怎么听 而且我用的模板和老师不一样 老师的做法是jsp中foreach实现 我用的是layuimini模板 但是layuimini模板的菜单是通过init.json文件来渲染的:如图 而json文件格式为: 那么问题来了,sql查询出后台菜单数据容易,但是返回json数据类型的数据却并不容易,于是我只好(...

qq_65201988的博客 3142

GameFramework框架详解之 Network网络框架

NetworkManager只负责维护NetworkChannel,实际的有种我们简历网络连接的也是NetworkChannel作为一个网路频道,这样管理起来比较方便,比如:一个游戏可能有多个网络连接,那么我们建立多个网络频道即可,或者当我们一个网络频道断线后,我们可以直接再新建一个,防止数据混乱。/// /// 网络管理器。/// /// 网络频道。/// 用户自定义网络错误事件。/// 检查是否存在网络频道。/// 获取网络频道。/// 获取所有网络频道。

TxNet 3369

SolidWorks2020详细步骤安装教程

1、在安装软件前请断开网络连接,需要安装.NETFramework3.5和4.0,最后还要确保把之前安装的旧版本完全卸载,以管理员身份运行SolidWorks_Flexnet_Server\server_remove.bat,然后等到服务“SolidWorksFlexnet服务器”将被删除。12、先不要运行软件,找到_SolidSQUAD_文件夹,将文件夹“ProgramFiles\SOLIDWORKSCorp”中的所有破解文件复制替到“ProgramFiles\SOLIDWORKSCorp”目录下;

qq_53545309的博客 1万+

纵向二级菜单

CSS Menu - Vertical h1 { font: bold 16px Arial, Helvetica, sans-serif; } p { font: 11px Aria

微信号codek2 专注于 Android 开源项目源码解析 开源项目分享 1614

第四天 Labview交互也很轻松(4.1 DAQ数据采集)

LabVIEW DAQ数据采集有很大的优势,NI提供了超过5千万条I/O通道,支持多种主流总线(如USB、PCI、PCIe、PXI等),并为所有这些设备提供统一的编程接口,实现软硬件的无缝集成。LabVIEW包含全套范例,覆盖各类应用,用户无需从头创建整个数据采集系统,可以快速启动并执行这些范例程序。所有NI DAQ硬件都采用NI-DAQmx驱动程序,支持多种编程语言,并包含了这些编程语言的示例代码,使得与NI硬件的通信变得更加便捷。

weixin_38637405的博客 2618

实战案例:横向和纵向的三级下拉菜单需要掌握hover

三级下拉 类似二级下拉,在二级下拉的基础上配合定位的属性再添加一层. 一. 横向三级 二.纵向三级 文章最后后附三级下拉菜单的html代码. 1.两个ul绝对定位做横向(推荐) 此时的二级菜单有绝对定位,所以三级菜单会以二级菜单为参照物,如果不设置宽度三级菜单会出现折行的现象,所以需要给三级菜单一个宽度303px实现横向,或101px实现二级横向,三级竖向. *{margin: 0; padding: 0;} a{ text-decoration: none; } ul{ list-st

箜的博客 1222

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

导航栏以及二级菜单栏(下拉列表)的制作

作为新手小白,在我们熟悉了HTML , CSS,JS的功能和语法之后,Web前端开发中,更重要的还有界面的美化,主要依据CSS的庞大功能来实现,今天我来给大家分享的是,利用html代码来实现横向导航栏以及下拉菜单列表的实现。首先,用和标签将导航栏的布局搭建出来(此时的一级导航栏还是纵向的位置,如何拉至横向需要CSS部分的辅助,下面CSS部分会提到),代码中的"登录","注册","留言","我的"为导航栏的标签部分,搭建二级菜单栏的代码位置,类似于“嵌套”

weixin_74835614的博客 1万+

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

html中二级菜单占位置,js实现二级菜单

js实现鼠标滑过显示二级菜单JS代码如下 CSS代码如下 菜单部分代码如下 我那里写错了呢,不能鼠标滑过哪显示啥? 滑过 产品介绍 显示下面的子菜单? onmouseover是鼠标移动到某元素执行的鼠标事件。 onmousemove是鼠标在某元素上移动执行的事件。 你先把这两个分清楚了,根据你的需CSS布局HTML小编今天和大家分享是 先获取你要鼠标滑过的元素 也就是产品介绍这个a元素照着书打的源...

weixin_34255938的博客 740

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

三级导航菜单实战:HTML语义、CSS定位与无障碍交互

下拉菜单是 Web 导航中的基础交互模式,而三级导航菜单同时考验 HTML 列表语义、CSS 定位与层叠上下文、指针事件时序及无障碍访问。其原理是用 position:relative/absolute 建立层级定位,借助 z-index 与层叠上下文控制遮挡,再通过 hover、focus-within 或 JavaScript 事件委托管理展开状态。这些细节决定菜单在桌面鼠标、触屏和键盘操作下的稳定性与可用性,常见于后台管理系统、企业官网、SaaS 控制台等场景。三级导航菜单栏看似只是多套一层 ul,实

weixin_32631179的博客 155

70+漂亮且极具亲和力的导航菜单设计推荐

网站可用性是任何网站的基本要素,而可用的导航更是网站所必需的要素之一。导航决定了用户如何与网站进行交互。如果没有了可用的导航,那么网站内容就会变得毫无用处。导航菜单应当足够简单以让用户快速了解它,但还要包含一些必要的元素来引导用户浏览整个网站——融入一些有创意且漂亮的设计。 向大家推荐的70款优秀的导航菜单,有些是基于CSS设计的,有些是基于CSS+JavaScript的菜单,还有些是基于Fla...

weixin_33939380的博客 126

Excel四级联动下拉菜单:名称管理器与INDIRECT从原理到实战

在Excel数据录入与表格设计中,下拉菜单是提升效率与规范性的常用工具。当面对省市区街道、多级分类或层级筛选等场景时,简单的静态序列已无法满足需求,联动下拉菜单成为必然选择。其底层逻辑并不复杂,关键在于理解名称管理器与INDIRECT函数的协同机制:名称管理器将数据区域定义为可复用的命名区域,INDIRECT则把文本动态转换为实际引用,再配合数据验证功能,即可实现逐级联动的选择效果。这种基于引用映射的联动方案不仅适用于二级菜单,更可平滑扩展至四级甚至更深层级,广泛用于地址录入、产品分类、组织架构等业务场景。

weixin_34343000的博客 370

纯HTML+CSS仿小米官网首页:从布局拆解到细节还原

前端页面构建的根基是HTML与CSS,通过剖析主流电商官网的页面结构,能直观看到布局技术的实际价值。现代布局体系中,Flex擅长一维弹性排列,Grid擅长二维网格切分,二者配合语义化标签,即可在不依赖JavaScript的前提下实现轮播、下拉菜单、吸顶导航等常见交互效果,提升页面性能与开发效率。这类技术广泛应用于企业官网、电商首页等静态页面场景。本文以仿小米官网首页为例,从区块拆解入手,依次实现顶部导航、搜索框、轮播图、商品卡片、限时购倒计时等核心模块,并分享Flex与Grid的取舍、图片间隙、sticky

weixin_29001423的博客 168

Excel下拉菜单从入门到进阶:数据验证、动态扩展与联动设置

在数据处理与表格填报过程中,数据规范化是提升工作效率的关键环节。Excel作为最常用的电子表格工具,其数据验证功能(即下拉菜单)能够有效约束输入内容,从源头避免脏数据产生,为后续的数据透视和统计分析奠定基础。本文从数据验证的基本概念与原理出发,系统讲解静态序列、引用区域和动态数据源三种下拉菜单形态,重点介绍OFFSET与COUNTA实现自动扩展、INDIRECT完成两级联动、名称管理器解决跨表引用等进阶技巧,并结合考勤表、订单表等典型应用场景演示如何通过Python脚本批量设置下拉选项。掌握这些方法,不仅能

weixin_28730403的博客 330

CSS Float深度解析:从文本环绕原理到高度塌陷与BFC实践

现代网页布局的演进过程中,块级格式化上下文与文档流是绕不开的基础概念。不同布局方式有着各自的适用边界:flex和grid擅长盒子排列,而CSS Float则专注于文本与图片的混排需求。float的核心在于让行内内容环绕元素流动,但也因此导致父容器无法感知子元素高度,出现经典的高度塌陷问题。解决塌陷的关键在于理解clear机制与BFC(块级格式化上下文)的创建方式,从传统的clearfix到更现代的display: flow-root,都是让容器重新包含浮动元素的可行方案。在商品图文混排、历史老代码维护等场景

weixin_29015899的博客 163

【indirect 函数 ★二级下拉菜单】

依次点开【数据】>>【数据验证】>>【自定义】这回要用公式来引用,我们写上:=INDIRECT(B1),数据验证从第1行开始,就是B1,第2行,就是B2,与左侧对齐。第二层就需要先列好表格,可以按F5 【定位】到【常量】,在【公式】选项卡里找到【名称管理器】旁边的【根据所选内容创建】,根据【首行】创建一个自定义区域。首先第一个下拉列表我们可以用【数据验证】里的【序列】来做,可以自行输入,也可以分别列在表格上,框选这片区域。如果列出来的条件,是包含在工作表名称里,把剩余的用&连上补全就可以啦。

WealthLucky的博客 4396

创建纵向二级菜单

一、今天来总结一下如何利用列表标签创建一个纵向弹跳的二级菜单,其实是很简单的一些知识点,二级菜单在写HTML这一块中运用最多的大概就是列表标签ul、li,其次就是超链接a,然后js里面也是运用了简单的当鼠标点击和鼠标离开的时候添加了事件监听,具体代码如下: HTML: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <

qq_53541336的博客 2071

二级导航菜单(横向)

&lt;%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%&gt; &lt;html&gt; &lt;head&gt; &lt;meta http-equiv="Content-Type" content="text/html; chars

abc1498880402的博客 8720
上一篇: 关于CSS3的知识点(盒模型阴影、多列、direction)
下一篇: Git的基本操作
7号样子
博客等级 码龄9年 18粉丝 22原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值