Jump to content

Default Theme - List subcategories in Top Menu vertically?


Recommended Posts

Hi,

I was wondering if someone can tell me, is there a way to make the subcategories in the top menu list vertically instead of horizontally when hovered over? I'm trying to achieve the following

 

Cat 1       Cat 2       Cat 3       Cat 4

               Sub 1

               Sub 2
               Sub 3

 

Is this possible?

 

Thanks!

Link to comment
Share on other sites

you have to change superfish-modified.css file (themes/YOUR_THEME/css/modules/blocktopmenu/css/superfish-modified.css

use there styles from prestashop 1.5

/*** ESSENTIAL STYLES ***/
.sf-contener {
	clear: both;
}
.sf-right {
  margin-right: 14px;
  float: right;
  width: 7px;
}
.sf-menu, .sf-menu * {
	margin:			0;
	padding:		0;
	list-style:		none;
}
.sf-menu {
	margin: 10px 0;
	padding:0;
	width:980px;/* 980 */
	background: #383838;
}
.sf-menu ul {
	position:		absolute;
	top:			-999em;
	width:			10em; /* left offset of submenus need to match (see below) */
}
.sf-menu ul li {
	width:			100%;
}
.sf-menu li:hover {
	visibility:		inherit; /* fixes IE7 'sticky bug' */
}
.sf-menu li {
	float:			left;
	position:		relative;
	border-right: 1px solid #777;
}
.sf-menu a {
	display:		block;
	position:		relative;
	color:#fff;
	text-shadow:0 1px 0 #333;
}
.sf-menu li:hover ul,
.sf-menu li.sfHover ul {
	left:			0;
	top:			34px; /* match top ul list item height */
	z-index:		99;
	width:auto
}
ul.sf-menu li:hover li ul,
ul.sf-menu li.sfHover li ul {
	top:			-999em;
}
ul.sf-menu li li:hover ul,
ul.sf-menu li li.sfHover ul {
	left:			200px; /* match ul width */
	top:			0;
}
ul.sf-menu li li:hover li ul,
ul.sf-menu li li.sfHover li ul {
	top:			-999em;
}
ul.sf-menu li li li:hover ul,
ul.sf-menu li li li.sfHover ul {
	left:			200px; /* match ul width */
	top:			0;
}

/*** DEMO SKIN ***/
.sf-menu {
	float:			left;
	margin-bottom:	1em;
}
.sf-menu a {
	display:block;
	margin-right:2px;
	padding: 0 22px 0 20px;
	line-height:34px;
	border: 0;
	text-decoration:none;
}
.sf-menu a, .sf-menu a:visited  { /* visited pseudo selector so IE6 applies text colour*/
	color:			#fff;
	white-space:nowrap;
}
.sf-menu li li {
	background: rgba(113, 113, 113, 0.9);
}
.sf-menu li li li {
	background:	rgba(113, 113, 113, 0.9);
}
.sf-menu a:focus, .sf-menu a:hover, .sf-menu a:active {
  	background: #4E4E4E;
}
.sf-menu ul li:hover, .sf-menu ul li.sfHover,
.sf-menu ul li a:focus, .sf-menu ul li a:hover, .sf-menu ul li a:active {
	background:		#4e4e4e;
	outline:		0;
}
/*** arrows **/
.sf-menu a.sf-with-ul {
	padding-right: 	2.25em;
	min-width:		1px; /* trigger IE7 hasLayout so spans position accurately */
}
.sf-sub-indicator {
	position:		absolute;
	display:		block;
	right:			10px;
	top:			1.05em; /* IE6 only */
	width:			10px;
	height:			10px;
	text-indent: 	-999em;
	overflow:		hidden;
	background:		url('../img/arrows-ffffff.png') no-repeat -10px -100px; /* 8-bit indexed alpha png. IE6 gets solid image only */
}
a > .sf-sub-indicator {  /* give all except IE6 the correct values */
	top: 11px;
	background-position: 0 -100px; /* use translucent arrow for modern browsers*/
}
/* apply hovers to modern browsers */
a:focus > .sf-sub-indicator,
a:hover > .sf-sub-indicator,
a:active > .sf-sub-indicator,
li:hover > a > .sf-sub-indicator,
li.sfHover > a > .sf-sub-indicator {
	background-position: -10px -100px; /* arrow hovers for modern browsers*/
}

/* point right for anchors in subs */
.sf-menu ul .sf-sub-indicator { background-position:  -10px 0; }
.sf-menu ul a > .sf-sub-indicator { background-position:  0 0; }
/* apply hovers to modern browsers */
.sf-menu ul a:focus > .sf-sub-indicator,
.sf-menu ul a:hover > .sf-sub-indicator,
.sf-menu ul a:active > .sf-sub-indicator,
.sf-menu ul li:hover > a > .sf-sub-indicator,
.sf-menu ul li.sfHover > a > .sf-sub-indicator {
	background-position: -10px 0; /* arrow hovers for modern browsers*/
}

/*** shadows for all but IE6 ***/
.sf-shadow ul {
	background:	url('../img/shadow.png') no-repeat bottom right;
	padding: 0 8px 9px 0;
	-moz-border-bottom-left-radius: 17px;
	-moz-border-top-right-radius: 17px;
	-webkit-border-top-right-radius: 17px;
	-webkit-border-bottom-left-radius: 17px;
}
.sf-shadow ul.sf-shadow-off {
	background: transparent;
}
li.sf-search {
  background: inherit;
  float: right;
  line-height: 25px;
}
li.sf-search input {
  -moz-border-radius: 0 5px 5px 0;
  padding: 3px 0;
  padding-left: 20px;
  margin: 6px 6px 0 0;
  background: #fff url('../img/search.gif') no-repeat left center;
  border:1px solid #777
}

/* hack IE7 */
.sf-menu a, .sf-menu a:visited {height:34px !IE;}
.sf-menu li li {
	width:200px;
	background:#726f72 !IE;
}

Link to comment
Share on other sites

  • 2 weeks later...

Hi 

 

line 24 you quoted : "left offset of submenus need to match (see below)" but i didn't find the matches. 

 

I need to upgrade my submenu width because i've Long name menus. Is it possible ?

Link to comment
Share on other sites

  • 3 months later...
  • 3 weeks later...

Hey Vekia, would it be possible to only add some space between 1st and 2nd line with the standard horizontal menu ex:

 

From this:

Cat 1               Cat 2               Cat 3               Cat 4

Sub 1   Sub 2   Sub 3   Sub 4   Sub 5
Sub 6   Sub 7   Sub 8   Sub 9

 

To this

Cat 1               Cat 2               Cat 3               Cat 4

Sub 1   Sub 2   Sub 3   Sub 4   Sub 5

 

Sub 6   Sub 7   Sub 8   Sub 9   

Link to comment
Share on other sites

×
×
  • Create New...