Html 默认情况下打开所有css手风琴div(无jquery)
我用这个: 我希望有能力有多个手风琴节打开一次,并在页面加载。我的意思是,当一个打开时,我不希望另一个关闭。这可能吗?也没有javascript 忽略所有的子手风琴太-我只需要一层 HTML 我试图避免使用任何java脚本。Html 默认情况下打开所有css手风琴div(无jquery),html,css,accordion,Html,Css,Accordion,我用这个: 我希望有能力有多个手风琴节打开一次,并在页面加载。我的意思是,当一个打开时,我不希望另一个关闭。这可能吗?也没有javascript 忽略所有的子手风琴太-我只需要一层 HTML 我试图避免使用任何java脚本。 这可能吗?不,这不可能仅使用css,因为您的示例使用CSS3:target选择器。当你点击另一个项目时,目标会改变 不能用css设置状态,但可以设置样式。如果您想在单击后保持每个部分的打开状态,则必须使用javascript,但不需要jQuery 如果您想使用javascr
这可能吗?不,这不可能仅使用css,因为您的示例使用CSS3:target选择器。当你点击另一个项目时,目标会改变 不能用css设置状态,但可以设置样式。如果您想在单击后保持每个部分的打开状态,则必须使用javascript,但不需要jQuery 如果您想使用javascript,这将尽可能地模仿css,同时允许手风琴保持打开状态。要关闭手风琴,只需再次单击标题
var lists = document.querySelectorAll('.accordion > li > a'); // get list title links
for (var i = 0; i < lists.length; i++) { // for each list title link
lists[i].href = "javascript:void()"; // stop the page from jumping
lists[i].onclick = function(e) { // when you click the link
var items = e.target.parentNode.querySelectorAll('li'); // get all list items that are siblings of the clicked link
for (var x = 0; x < items.length; x++) { // for each list item
if (items[x].style.height != '33px') { // if its not open
items[x].style.height = '33px'; // open it
} else { // otherwise
items[x].style.height = '0px'; // close it
}
}
};
}
将其包装在脚本标记中,然后将其放入正文底部,或者将其包装在document.onload=function{/*script Here*/}
注意:target选择器的任何样式都将不再有效,但如果用户禁用了javascript,则应将其保留在css中作为备用样式。不,这不可能仅使用css,因为您的示例使用CSS3:target选择器。当你点击另一个项目时,目标会改变 不能用css设置状态,但可以设置样式。如果您想在单击后保持每个部分的打开状态,则必须使用javascript,但不需要jQuery 如果您想使用javascript,这将尽可能地模仿css,同时允许手风琴保持打开状态。要关闭手风琴,只需再次单击标题
var lists = document.querySelectorAll('.accordion > li > a'); // get list title links
for (var i = 0; i < lists.length; i++) { // for each list title link
lists[i].href = "javascript:void()"; // stop the page from jumping
lists[i].onclick = function(e) { // when you click the link
var items = e.target.parentNode.querySelectorAll('li'); // get all list items that are siblings of the clicked link
for (var x = 0; x < items.length; x++) { // for each list item
if (items[x].style.height != '33px') { // if its not open
items[x].style.height = '33px'; // open it
} else { // otherwise
items[x].style.height = '0px'; // close it
}
}
};
}
将其包装在脚本标记中,然后将其放入正文底部,或者将其包装在document.onload=function{/*script Here*/}
注意:虽然任何带有:target选择器的样式都将不再有效,但您应将它们保留在css中作为备用,以防用户禁用javascript。此css使用此样式将所有手风琴显示为已关闭:
.accordion li > .sub-menu li {
height: 0px;
}
您可以将其设置为33px,以便在页面打开时显示所有打开的部分,但这会破坏功能,因为:target选择器随后会设置高度,从而导致所选部分显示为打开
唯一的解决方案是使用javascript….此css使用此样式显示所有手风琴的闭合状态:
.accordion li > .sub-menu li {
height: 0px;
}
您可以将其设置为33px,以便在页面打开时显示所有打开的部分,但这会破坏功能,因为:target选择器随后会设置高度,从而导致所选部分显示为打开
唯一的解决方案是使用javascript…..可以吗?对
您需要更改HTML吗?对
它漂亮吗?没有
基本上不是维持目标状态。使用复选框将顶级a标记替换为标签
正文{页边距:50px;}
/*重置*/
手风琴
.手风琴ul,
李国章,
.手风琴标签,
.手风琴音程{
保证金:0;
填充:0;
边界:无;
大纲:无;
}
李国章{
列表样式:无;
}
.accordion输入[type=checkbox]{显示:无;}
/*布局与风格*/
.accordion li>标签.accordion li>a{
显示:块;
位置:相对位置;
最小宽度:110px;
填充:0 10px 0 40px;
高度:32px;
颜色:fdfdfd;
字体:粗体12px/32px Arial,无衬线;
文字装饰:无;
文本阴影:0px 1px 0px rgba0,0,0,35;
背景:6c6e74;
背景:-moz线性梯度顶部,6c6e74 0%,4b4d51 100%;
背景:-webkit gradientlinear,左上,左下,彩色停止0%,6c6e74,彩色停止100%,4b4d51;
背景:-webkit线性梯度顶部,6c6e74 0%,4b4d51 100%;
背景:-o-线性梯度顶部,6c6e74 0%,4b4d51 100%;
背景:-ms线性梯度顶部,6c6e74 0%,4b4d51 100%;
背景:线性梯度顶部,6c6e74 0%,4b4d51 100%;
-网络工具包盒阴影:插图0px 1px 0px 0px RGBA255255.1,0px 1px 0px 0px rgba0,0,0.1;
-moz盒阴影:插入0px 1px 0px 0px RGBA255255,1,0px 1px 0px rgba0,0,0,1;
盒影:插入0px 1px 0px 0px rgba255255.1,0px 1px 0px rgba0,0,0.1;
}
.accordion>li:悬停>标签,
.手风琴>李:目标>标签,
.accordion>li>输入[类型=复选框]:选中~标签{
颜色:3e5706;
文本阴影:1px 1px 1px RGBA255255.2;
/*背景:url../img/active.png repeat-x*/
背景:a5cd4e;
背景:-moz线性梯度顶部,a5cd4e 0%,6b8f1a 100%;
背景:-webkit gradientlinear、左上、左下、彩色停止0%、a5cd4e、彩色停止100%、6b8f1a;
背景:-webkit线性梯度顶部,a5cd4e 0%,6b8f1a 100%;
背景:-o-线性梯度TOP,a5cd4e 0%,6b8f1a 100%;
背景:-ms线性梯度TOP,a5cd4e 0%,6b8f1a 100%;
背景:线性梯度TOP,a5cd4e 0%,6b8f1a 100%;
}
李国章
>标签span、.accordion li>a span{
显示:块;
位置:绝对位置;
顶部:7px;
右:0;
填充:0 10px;
右边距:10px;
字体:普通粗体12px/18px Arial,无衬线;
背景:404247;
-webkit边界半径:15px;
-moz边界半径:15px;
边界半径:15px;
-webkit盒阴影:插入1px 1px 1px rgba0,0,0,2,1px 1px 1px RGBA255255,1;
-moz盒阴影:插入1px 1px 1px rgba0,0,0,2,1px 1px 1px RGBA255255,1;
盒影:插入1px 1px 1px rgba0,0,0,2,1px 1px 1px RGBA255255,1;
}
.accordion>li:悬停>标签跨度,
.accordion>li:target>label span,
.accordion>li>input[type=checkbox]:选中~label span{
颜色:fdfdfd;
文本阴影:0px 1px 0px rgba0,0,0,35;
背景:3e5706;
}
/*图像*/
.手风琴>李>标签:之前{
位置:绝对位置;
排名:0;
左:0;
内容:;
宽度:24px;
高度:24px;
利润率:4px8px;
背景重复:无重复;
背景图像:urlhttp://designmodo.com/demo/css3accordionmenu/img/icons.png;
背景位置:0px 0px;
}
.accordion li.files>标签:在{背景位置:0px 0px;}之前
.accordio li.files:hover>labe:before,
.accordion li.files:target>label:before{background position:0px-24px;}
.accordion li.mail>标签:在{背景位置:-24px 0px;}之前
.accordio li.mail:hover>label:before,
.accordion li.mail:target>label:before{背景位置:-24px-24px;}
.accordion li.cloud>标签:在{背景位置:-48px 0px;}之前
.accordio li.cloud:hover>label:before,
.手风琴输入[类型=复选框]:选中:在{背景位置:-48px-24px;}之前
.accordio li.sign>标签:在{背景位置:-72px 0px;}之前
.手风琴李.标志:悬停>标签:在,
.手风琴输入[类型=复选框]:选中:在{背景位置:-72px-24px;}之前
/*子菜单*/
.子菜单li>a{
颜色:7979;
文本阴影:1px 1px 0px RGBA255255.2;
背景:E5;
边框底部:1px实心c9c9c9;
-网络工具包盒阴影:插图0px 1px 0px 0px RGBA255255.1,0px 1px 0px 0px rgba0,0,0.1;
-moz盒阴影:插入0px 1px 0px 0px RGBA255255,1,0px 1px 0px rgba0,0,0,1;
盒影:插入0px 1px 0px 0px rgba255255.1,0px 1px 0px rgba0,0,0.1;
}
.li子菜单:将鼠标悬停在{background:efefef;}
.子菜单li:最后一个子菜单a{border:none;}
.子菜单li>a跨度{
颜色:7979;
文本阴影:1px 1px 0px RGBA255255.2;
背景:透明;
边框:1px实心c9c9c9;
-webkit盒阴影:无;
-莫兹盒阴影:无;
盒影:无;
}
.子菜单em{
位置:绝对位置;
排名:0;
左:0;
左边距:14px;
颜色:A6;
字体:标准10px/32px Arial,无衬线;
}
/*功能性*/
.accordio li>。子菜单li{
身高:0;
溢出:隐藏;
-webkit过渡:高度2秒,易于进出;
-moz过渡:高度。2秒缓进缓出;
-o型过渡:高度。2秒缓进缓出;
-ms转换:高度。2秒轻松进出;
过渡:高度2秒,易于进出;
}
.手风琴输入[类型=复选框]:选中~.子菜单li{
高度:33像素;
}
我的文件495
邮寄26
云58
退出
能做到吗?对
您需要更改HTML吗?对
它漂亮吗?没有
基本上不是维持目标状态。使用复选框将顶级a标记替换为标签
正文{页边距:50px;}
/*重置*/
手风琴
.手风琴ul,
李国章,
.手风琴标签,
.手风琴音程{
保证金:0;
填充:0;
边界:无;
大纲:无;
}
李国章{
列表样式:无;
}
.accordion输入[type=checkbox]{显示:无;}
/*布局与风格*/
.accordion li>标签.accordion li>a{
显示:块;
位置:相对位置;
最小宽度:110px;
填充:0 10px 0 40px;
高度:32px;
颜色:fdfdfd;
字体:粗体12px/32px Arial,无衬线;
文字装饰:无;
文本阴影:0px 1px 0px rgba0,0,0,35;
背景:6c6e74;
背景:-moz线性梯度顶部,6c6e74 0%,4b4d51 100%;
背景:-webkit gradientlinear,左上,左下,彩色停止0%,6c6e74,彩色停止100%,4b4d51;
背景:-webkit线性梯度顶部,6c6e74 0%,4b4d51 100%;
背景:-o-线性梯度顶部,6c6e74 0%,4b4d51 100%;
背景:-ms线性梯度顶部,6c6e74 0%,4b4d51 100%;
背景:线性梯度顶部,6c6e74 0%,4b4d51 100%;
-网络工具包盒阴影:插图0px 1px 0px 0px RGBA255255.1,0px 1px 0px 0px rgba0,0,0.1;
-moz盒阴影:插入0px 1px 0px 0px RGBA255255,1,0px 1px 0px rgba0,0,0,1;
盒影:插入0px 1px 0px 0px rgba255255.1,0px 1px 0px rgba0,0,0.1;
}
.accordion>li:悬停>标签,
.手风琴>李:目标>标签,
.accordion>li>输入[类型=复选框]:选中~标签{
颜色:3e5706;
文本阴影:1px 1px 1px rgba255,25
5,255, .2;
/*背景:url../img/active.png repeat-x*/
背景:a5cd4e;
背景:-moz线性梯度顶部,a5cd4e 0%,6b8f1a 100%;
背景:-webkit gradientlinear、左上、左下、彩色停止0%、a5cd4e、彩色停止100%、6b8f1a;
背景:-webkit线性梯度顶部,a5cd4e 0%,6b8f1a 100%;
背景:-o-线性梯度TOP,a5cd4e 0%,6b8f1a 100%;
背景:-ms线性梯度TOP,a5cd4e 0%,6b8f1a 100%;
背景:线性梯度TOP,a5cd4e 0%,6b8f1a 100%;
}
.accordio li>label span、.accordio li>a span{
显示:块;
位置:绝对位置;
顶部:7px;
右:0;
填充:0 10px;
右边距:10px;
字体:普通粗体12px/18px Arial,无衬线;
背景:404247;
-webkit边界半径:15px;
-moz边界半径:15px;
边界半径:15px;
-webkit盒阴影:插入1px 1px 1px rgba0,0,0,2,1px 1px 1px RGBA255255,1;
-moz盒阴影:插入1px 1px 1px rgba0,0,0,2,1px 1px 1px RGBA255255,1;
盒影:插入1px 1px 1px rgba0,0,0,2,1px 1px 1px RGBA255255,1;
}
.accordion>li:悬停>标签跨度,
.accordion>li:target>label span,
.accordion>li>input[type=checkbox]:选中~label span{
颜色:fdfdfd;
文本阴影:0px 1px 0px rgba0,0,0,35;
背景:3e5706;
}
/*图像*/
.手风琴>李>标签:之前{
位置:绝对位置;
排名:0;
左:0;
内容:;
宽度:24px;
高度:24px;
利润率:4px8px;
背景重复:无重复;
背景图像:urlhttp://designmodo.com/demo/css3accordionmenu/img/icons.png;
背景位置:0px 0px;
}
.accordion li.files>标签:在{背景位置:0px 0px;}之前
.accordio li.files:hover>labe:before,
.accordion li.files:target>label:before{background position:0px-24px;}
.accordion li.mail>标签:在{背景位置:-24px 0px;}之前
.accordio li.mail:hover>label:before,
.accordion li.mail:target>label:before{背景位置:-24px-24px;}
.accordion li.cloud>标签:在{背景位置:-48px 0px;}之前
.accordio li.cloud:hover>label:before,
.手风琴输入[类型=复选框]:选中:在{背景位置:-48px-24px;}之前
.accordio li.sign>标签:在{背景位置:-72px 0px;}之前
.手风琴李.标志:悬停>标签:在,
.手风琴输入[类型=复选框]:选中:在{背景位置:-72px-24px;}之前
/*子菜单*/
.子菜单li>a{
颜色:7979;
文本阴影:1px 1px 0px RGBA255255.2;
背景:E5;
边框底部:1px实心c9c9c9;
-网络工具包盒阴影:插图0px 1px 0px 0px RGBA255255.1,0px 1px 0px 0px rgba0,0,0.1;
-moz盒阴影:插入0px 1px 0px 0px RGBA255255,1,0px 1px 0px rgba0,0,0,1;
盒影:插入0px 1px 0px 0px rgba255255.1,0px 1px 0px rgba0,0,0.1;
}
.li子菜单:将鼠标悬停在{background:efefef;}
.子菜单li:最后一个子菜单a{border:none;}
.子菜单li>a跨度{
颜色:7979;
文本阴影:1px 1px 0px RGBA255255.2;
背景:透明;
边框:1px实心c9c9c9;
-webkit盒阴影:无;
-莫兹盒阴影:无;
盒影:无;
}
.子菜单em{
位置:绝对位置;
排名:0;
左:0;
左边距:14px;
颜色:A6;
字体:标准10px/32px Arial,无衬线;
}
/*功能性*/
.accordio li>。子菜单li{
身高:0;
溢出:隐藏;
-webkit过渡:高度2秒,易于进出;
-moz过渡:高度。2秒缓进缓出;
-o型过渡:高度。2秒缓进缓出;
-ms转换:高度。2秒轻松进出;
过渡:高度2秒,易于进出;
}
.手风琴输入[类型=复选框]:选中~.子菜单li{
高度:33像素;
}
我的文件495
邮寄26
云58
退出
简而言之,不是。当css使用:target伪选择器时,OpenAccordion基于url,一次只能是一个。要拥有多个开放状态,您需要使用js。唯一的另一个选择是让它们一直打开删除高度:0;但这样就不是手风琴了,可以通过修改HTML和CSS来实现。不过这有点像黑客。简而言之,不是。当你的css使用:target伪选择器时,OpenAccordion是基于url的,一次只能有一个。要拥有多个开放状态,您需要使用js。唯一的另一个选择是让它们一直打开删除高度:0;但这样就不是手风琴了,可以通过修改HTML和CSS来实现。不过这有点像黑客。那么你能推荐javascript吗?避免jquery是理想的选择。谢谢删除了一些评论我已经让它工作了,但是它讨厌href=javacscript行,所以我又回到了href=one等。没有其他方法可以避免“屏幕抓拍”了吗?如果html中没有javascript,那么你能推荐javascript吗?避免使用jquery是非常困难的
完美的谢谢删除了一些评论我已经让它工作了,但是它讨厌href=javacscript行,所以我又回到了href=one等。没有其他方法可以避免“屏幕抓拍”了吗?没有html中的javascript?你知道我可以使用的java吗?但是我必须避免使用jquery。任何想法都很好。@jnapier不要使用Java,使用Javascript。它们不一样。完全记住Java对于Javascript就像火腿对于仓鼠一样重要!你知道我可以用的java吗?但是我必须避免使用jquery。任何想法都很好。@jnapier不要使用Java,使用Javascript。它们不一样。完全记住Java对于Javascript就像火腿对于仓鼠一样重要!