Die Angaben, die du individuell gestalten möchtest - also die Breite - oder änderst du noch andere Formate?
Ich glaube, mein Vorschlag ist aber auch nicht zielführend, da nicht nur die <ul> eine eigene Breite erhalten, sondern auch <li> und <a> - diese zeigen den Hintergrund beim Hover
Du könntest den Code aber dadurch übersichtlicher gestalten, dass du nur die individuellen Werte (die vom Standard abweichen) nochmal extra aufführst.
also das hier:
.menu2 :hover ul.sub_1950bisheute :hover ul,
.menu2 :hover ul.sub_1950bisheute :hover ul :hover ul
{left:295px; top:-4px; background: #E3E3E3; padding:3px 0; border:2px solid #000; white-space:nowrap; width:148px; z-index:200; height:auto;}
.menu2 :hover ul.sub_1950bisheute :hover ul :hover ul :hover ul,
.menu2 :hover ul.sub_1950bisheute :hover ul :hover ul :hover ul :hover ul
{left:295px; top:-4px; background: #E3E3E3; padding:3px 0; border:2px solid #000; white-space:nowrap; width:80px; z-index:200; height:auto;}
... auf das Notwendige kürzen:
.menu2 :hover ul.sub_1950bisheute :hover ul
{ width:148px; }
.menu2 :hover ul.sub_1950bisheute :hover ul :hover ul :hover ul
{ width:80px; }
Und dann machst du das gleiche nochmal für die <li>s und <a>s