PDA

View Full Version : ایجاد یک منو



karkia_mit
پنج شنبه 31 فروردین 1391, 14:31 عصر
من میخوام یک منو باز شونده عمودی که دارای دو ستون هستش رو درست کنم در html با کمک CSS ها.

ممنون میشم از دوستان اگه کمک کنن. خیلییییییییی فوووریییی :افسرده:

Saber Mogaddas
پنج شنبه 31 فروردین 1391, 17:35 عصر
سلام
تا کجا پیش رفتین..مشکلتون چی هست؟

karkia_mit
شنبه 02 اردیبهشت 1391, 08:19 صبح
در ایجاد منو مشکلی نیست. فقط میخوام یک زیر منو که دارای 14 آیتم هست در دو ستون و در 7 سطر نمایش بده، فقط همین. ممنون

cyrusthegreat
شنبه 02 اردیبهشت 1391, 11:40 صبح
در ایجاد منو مشکلی نیست. فقط میخوام یک زیر منو که دارای 14 آیتم هست در دو ستون و در 7 سطر نمایش بده، فقط همین. ممنون

یعنی می خوایید این منوی 14 آیتمی تقسیم بشه به دوتا 7 تایی کنار هم. برای اینکار دوتا راه داری. استفاده از CSS محض، که یه مشکل داره. دو استفاده از JS.

برای CSS باید اینگونه کد بزنید:

/* allow room for 3 columns */
ul
{
width: 30em;
}

/* float & allow room for the widest item */
ul li
{
float: right;
width: 15em;
}

/* stop the float */
br
{
clear: left;
}

/* separate the list from subsequent markup */
div.wrapper
{
margin-bottom: 1em;
}


البته اگر کد شما این باشه:

<div class="wrapper">
<ul
><li><a href="#">Aloe</a></li
><li><a href="#">Bergamot</a></li
...
><li><a href="#">Oregano</a></li
><li><a href="#">Pennyroyal</a></li
></ul>
<br />
</div><!-- .wrapper -->


به اون علامت های بسته شدن تگ که اومده پایین کاری نداشته باشید. برای درست نشون دادن تو همه ی مرورگر ها هستش.

e_a_23
شنبه 02 اردیبهشت 1391, 13:29 عصر
با تشکر از شما دوست عزیز

مشکل css رو نفرمودید چیه.البته مطمئناً روش خوبی نیست.اگه امکان داره کد جاوااسکریپت هم بذارید.خیلی ممنون میشم.

cyrusthegreat
شنبه 02 اردیبهشت 1391, 14:20 عصر
با تشکر از شما دوست عزیز

مشکل css رو نفرمودید چیه.البته مطمئناً روش خوبی نیست.اگه امکان داره کد جاوااسکریپت هم بذارید.خیلی ممنون میشم.

مشکل CSS در این هستش که ترتیب نمایش رو تغییر می ده. یعنی بجای اینکه اینجوری باشه:
1 4
2 5
3 6

میشه:
1 2
3 4
5 6

دوست عزیز

مطمئنا روش خوبی هستش. هیچ مشکلی نداره این کد. تو همه ی مرورگر ها یکسان نمایش داده می شه.

برای جاوا اسکریپت، من کد Jquery رو دارم. اگر می خوایید بزارمش.

e_a_23
شنبه 02 اردیبهشت 1391, 14:36 عصر
از توضیحتون متشکرم.اگر لطف کنید بذارید ممنون میشم.

cyrusthegreat
شنبه 02 اردیبهشت 1391, 17:49 عصر
دوست عزیز خدمت شما


var size = $("#content .box .content div#seprated ul.seprated li").size();
if ( size > 7 ) {
if ( size % 2 == 0 ) {
var firstItemNum = size / 2;
var secendItemNum = firstItemNum - 1;
}
else {
var firstItemNum = (size -1) / 2 + 1;
var secendItemNum = firstItemNum - 1;
}
var firstItems = $("#content .box .content ul.seprated li:lt("+firstItemNum+")");
var secendItems = $("#content .box .content ul.seprated li:gt("+secendItemNum+")");
$("#content .box .content div#seprated").html('<div class="first-items"><ul></ul></div><div class="second-items"><ul></ul></div>');
$(firstItems).each(function() {
$("#content .box .content div#seprated div.first-items ul").append("<li>"+$(this).html()+"</li>");
});
$(secendItems).each(function() {
$("#content .box .content div#seprated div.second-items ul").append("<li>"+$(this).html()+"</li>");
});
}


کد htmlاش هم این هستش:


<div id="content">
<div class="box">
<div class="content">
<div id="seprated">
<ul class="seprated">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>9</li>
<li>10</li>
<li>11</li>
</ul>
</div>
</div>
</div>
</div>


شما با تغییر مقدار
if ( size > 7 )

می تونید تعداد المان های ستون هاتون رو مشخص کنید. این فقط دو ستون می کنه.