<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ওয়েব ডিযাইন টিউটোরিয়াল Archives &bull; Tuts by Mayeenul Islam</title>
	<atom:link href="https://mayeenulislam.github.io/tuts/category/web-design-tuts/feed/" rel="self" type="application/rss+xml" />
	<link>https://mayeenulislam.github.io/tuts/category/web-design-tuts/</link>
	<description>Technology Tutorials by Mayeenul Islam</description>
	<lastBuildDate>Sat, 21 Jan 2023 13:02:09 +0000</lastBuildDate>
	<language>bn-BD</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.1.1</generator>

<image>
	<url>https://mayeenulislam.github.io/tuts/wp-content/uploads/2015/08/cropped-tuts-nano-32x32.png</url>
	<title>ওয়েব ডিযাইন টিউটোরিয়াল Archives &bull; Tuts by Mayeenul Islam</title>
	<link>https://mayeenulislam.github.io/tuts/category/web-design-tuts/</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>HTML abbr ট্যাগ, CSS দিয়ে করুন দৃষ্টিনন্দন</title>
		<link>https://mayeenulislam.github.io/tuts/css-tooltip/</link>
		
		<dc:creator><![CDATA[মঈনুল ইসলাম]]></dc:creator>
		<pubDate>Fri, 20 Jan 2023 06:20:17 +0000</pubDate>
				<category><![CDATA[ওয়েব ডিযাইন টিউটোরিয়াল]]></category>
		<category><![CDATA[জ্ঞান-স্তরভিত্তিক টিউটোরিয়াল]]></category>
		<category><![CDATA[মাধ্যমিক স্তরের টিউটোরিয়াল]]></category>
		<category><![CDATA[সিএসএস টিউটোরিয়াল]]></category>
		<guid isPermaLink="false">http://nanodesigns.wordpress.com/?p=210</guid>

					<description><![CDATA[<p> [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://mayeenulislam.github.io/tuts/css-tooltip/">HTML abbr ট্যাগ, CSS দিয়ে করুন দৃষ্টিনন্দন</a> appeared first on <a rel="nofollow" href="https://mayeenulislam.github.io/tuts/">Tuts by Mayeenul Islam</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="wp-block-image">
<figure class="aligncenter"><a href="https://mayeenulislam.github.io/tuts/wp-content/uploads/2012/06/tool-tip-nanodesigns.jpg"><img decoding="async" width="574" height="158" src="https://mayeenulislam.github.io/tuts/wp-content/uploads/2012/06/tool-tip-nanodesigns.jpg" alt="CSS-tooltip-how-it-works" class="wp-image-213" title="tool-tip-nanodesigns" srcset="https://mayeenulislam.github.io/tuts/wp-content/uploads/2012/06/tool-tip-nanodesigns.jpg 574w, https://mayeenulislam.github.io/tuts/wp-content/uploads/2012/06/tool-tip-nanodesigns-300x83.jpg 300w" sizes="(max-width: 574px) 100vw, 574px" /></a></figure></div>


<p><strong><span lang="BN-BD" style="font-size: 10pt; font-family: 'Siyam Rupali';">জ্ঞানস্তর:</span></strong><span lang="BN-BD" style="font-size: 10pt; font-family: 'Siyam Rupali';"> মাধ্যমিক</span></p>



<p>কোনো একটা লম্বা নামকে সংক্ষিপ্ত করে লেখার দরকার হলো, এজন্য প্রত্যেকটা শব্দের প্রথম অক্ষরগুলো, মানে আদ্যক্ষর নিয়ে, আপনি সেই নামটা তৈরি করলেন, ইংরেজিতে যাকে বলে acronym। যেমন: Bangladesh Agricultural and Rural Development-কে সংক্ষেপে ডাকা হয় BARD বলে; এখানে BARD হলো পুরো নামটার সংক্ষিপ্ত রূপ। ধরা যাক, একটা লেখা লিখছেন, যেখানে বারবার আপনি BARD-ই বলে যাচ্ছেন। কিন্তু একজন পাঠক BARD-এর মানে তো নাও জানতে পারেন। তাই এসব ক্ষেত্রে HTML-এর সহজ একটা কৌশল কাজে লাগানো হয়: <code>&lt;abbr&gt;</code> ট্যাগটি। এর আগে ব্যবহার করা হতো <code>&lt;acronym&gt;</code> ট্যাগটি, যা এখন deprecated বা বাতিল করা হয়েছে।</p>



<figure class="wp-block-embed is-type-rich is-provider-embed-handler wp-block-embed-embed-handler"><div class="wp-block-embed__wrapper">
View the code on <a href="https://gist.github.com/mayeenulislam/1f6072b6991f5120da7c17f3763454ca">Gist</a>.
</div><figcaption class="wp-element-caption">টুলটিপ দেখানোর জন্য HTML</figcaption></figure>



<p>এই কোডটা ব্যবহার করলে যখনই আপনি GDP কিংবা BARD লেখাটার উপরে মাউস আনবেন, একটু অপেক্ষা করলেই সেখানে একটা বাক্সে দেখাবে BARD-এর মানে, যা আপনি <code>&lt;abbr&gt;</code>-এর title-এ দিয়েছেন। কিন্তু পূর্বনির্ধারিত এই স্টাইলটি অনেকের পছন্দ নাও হতে পারে। সেজন্য নিচের এই CSSটুকু বসিয়ে নিয়ে আপনি আরো দৃষ্টিনন্দন করে নিতে পারেন HTML-এর নিজস্ব টুলটিপকেই। টুলটিপের জন্য অন্য কিছু আবিষ্কার না করে <code>&lt;abbr&gt;</code> ট্যাগ ব্যবহার করাটা Web Accessibility-ও নিশ্চিত করে।</p>



<figure class="wp-block-embed is-type-rich is-provider-embed-handler wp-block-embed-embed-handler"><div class="wp-block-embed__wrapper">
View the code on <a href="https://gist.github.com/mayeenulislam/1f6072b6991f5120da7c17f3763454ca">Gist</a>.
</div><figcaption class="wp-element-caption">টুলটিপ দেখানোর জন্য CSS</figcaption></figure>



<p>কেমন লাগলো, আর কাজে লাগলো কিনা অবশ্যই জানাতে ভুলবেন না। আর, আরো আরো সিএসএস প্রোপার্টি যোগ করে নতুন নতুন কিছু পরীক্ষা-নিরীক্ষা চালান, একটু opacity প্রয়োগ করে দেখুন… নতুন কিছু বের করতে পারলেও আমাদের সাথে শেয়ার করুন।</p>



<p><strong>&#8211; মঈনুল ইসলাম</strong><br><img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f517.png" alt="🔗" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a href="https://mayeenulislam.github.io/" target="_blank" rel="noreferrer noopener">mayeenulislam.github.io</a></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<p><span lang="BN-BD" style="font-size: 10pt; line-height: 115%; font-family: 'Siyam Rupali';"><strong>মূলসূত্র:</strong></span> <span lang="BN-BD" style="font-size: 10pt; line-height: 115%; font-family: 'Siyam Rupali';">পোস্টটা লিখতে এর মূল তথ্য গ্রহণ করা হয়েছে </span><span style="font-size: 11pt; line-height: 115%; font-family: 'Calibri', 'sans-serif';"><span lang="BN-BD" style="font-size: 10pt; line-height: 115%; font-family: 'Siyam Rupali';">একটি তৃতীয় পক্ষীয় টিউটোরিয়াল</span></span><span lang="BN-BD" style="font-size: 10pt; line-height: 115%; font-family: 'Siyam Rupali';"> থেকে, যে লিংকটি বর্তমানে লভ্য নয়। তবে সেখানকার কোডগুলো ঝামেলা করে বলে তা সংশোধন ও পরিমার্জন করতে সহায়তা নেয়া হয়েছে সফ্‌টওয়্যার ইঞ্জিনিয়ার অমিত চৌধুরীর। কৃতজ্ঞতা তাই এঁদের প্রতি। মূল লেখাটি অনেক বছর আগে লেখা ছিলো, সেখানকার deprecated কোড সরিয়ে সাম্প্রতিক কোড যোগ করা হয়েছে।</span></p>
<p>The post <a rel="nofollow" href="https://mayeenulislam.github.io/tuts/css-tooltip/">HTML abbr ট্যাগ, CSS দিয়ে করুন দৃষ্টিনন্দন</a> appeared first on <a rel="nofollow" href="https://mayeenulislam.github.io/tuts/">Tuts by Mayeenul Islam</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>CSS3 ব্যবহার করে কলাম তৈরি</title>
		<link>https://mayeenulislam.github.io/tuts/column-design-css3/</link>
					<comments>https://mayeenulislam.github.io/tuts/column-design-css3/#comments</comments>
		
		<dc:creator><![CDATA[মঈনুল ইসলাম]]></dc:creator>
		<pubDate>Wed, 07 Oct 2015 19:25:41 +0000</pubDate>
				<category><![CDATA[ওয়েব ডিযাইন টিউটোরিয়াল]]></category>
		<category><![CDATA[জ্ঞান-স্তরভিত্তিক টিউটোরিয়াল]]></category>
		<category><![CDATA[প্রাথমিক স্তরের টিউটোরিয়াল]]></category>
		<category><![CDATA[সিএসএস টিউটোরিয়াল]]></category>
		<guid isPermaLink="false">https://mayeenulislam.github.io/tuts/?p=724</guid>

					<description><![CDATA[<p> [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://mayeenulislam.github.io/tuts/column-design-css3/">CSS3 ব্যবহার করে কলাম তৈরি</a> appeared first on <a rel="nofollow" href="https://mayeenulislam.github.io/tuts/">Tuts by Mayeenul Islam</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>পত্রিকার ডিযাইনে কলাম দেখা যায়, ছবিগুলো অ্যালবামে কলাম আকারে সাজানো থাকে, আপনার পোর্টফোলিও কলাম আকারে গুছিয়ে দেখাতে পারেন &#8211; কলাম ডিযাইন তৈরি ঘুরেফিরেই আপনার প্রয়োজন হবে। এজন্যই এর আগে আমরা দেখেছিলাম কিভাবে <a href="https://mayeenulislam.github.io/tuts/columns-php-loop/" target="_blank" rel="noreferrer noopener">পিএইচপি লুপ ব্যবহার করে ওয়েবসাইটে কলামের ডিযাইন</a> করা যায়। আমরা সেদিন বলেছিলাম, CSS3 দিয়েও কাজটা আরো সহজে করা যায়। এতোদিন পরে হলেও আমরা কথা রাখতে পেরেছি, আজ আমরা সেটাই দেখবো ইনশাল্লাহ।</p>



<p>সিএসএস৩ দিয়ে তৈরি কলাম আরো পরিচ্ছন্ন, আরো সহজ। এখানে স্তবকে স্তবকে সাজানো<code> &lt;div&gt;</code>-গুলোকে কোনো ক্লাস কিংবা সিলেক্টরের তোয়াক্কা না করে শ্রেফ সিএসএস দিয়ে ধরে ধরে কলাম আকারে সাজিয়ে ফেলা যাবে। এবং রেসপন্সিভ ডিযাইনেও একই কৌশল কাজে লাগিয়ে লেআউটকে বিভিন্ন ভিউপোর্টে ইচ্ছামতো বদলে নেয়া যাবে।</p>



<p>আসুন দেখা যাক, কিভাবে সেটা করা হয়। আমরা সহজ করার জন্য সবটুকু কাজ একটা ফাইলের মধ্যেই করে দেখাচ্ছি:</p>



<span id="more-724"></span>



<figure class="wp-block-embed is-type-rich is-provider-embed-handler wp-block-embed-embed-handler"><div class="wp-block-embed__wrapper">
View the code on <a href="https://gist.github.com/mayeenulislam/21d8e81800455702e4b9">Gist</a>.
</div></figure>



<p>আমরা <code>&lt;div&gt;</code>-কে বলে দিচ্ছি বামদিকে চলে যেতে, সবগুলো <code>&lt;div&gt;</code>-এর <code>width</code> বলে দিয়েছি, প্রয়োজনীয় মার্জিন দিয়ে সরিয়ে সরিয়ে দেখিয়েছি, আর সবগুলোতে একটা নির্দিষ্ট ম্যাটম্যাটে রং দিয়ে দিয়েছি। তাতে যেটা হবে, বামদিকে চেপে একের পর এক <code>&lt;div&gt;</code> বসে যাবে (আমরা <code>&lt;div&gt;</code>গুলোকে বোঝার জন্য <code>100px</code>-এর একটা উচ্চতা দিয়েছি)। এবারে আমরা CSS3 সিলেক্টর ব্যবহার করে কলাম ১ এবং কলাম ৩-এর জন্য আলাদা আলাদা সিএসএস র&#x200d;্যুল ডিক্লেয়ার করেছি। আমরা বলেছি:</p>



<figure class="wp-block-embed is-type-rich is-provider-embed-handler wp-block-embed-embed-handler"><div class="wp-block-embed__wrapper">
View the code on <a href="https://gist.github.com/mayeenulislam/21d8e81800455702e4b9">Gist</a>.
</div></figure>



<p>এখানে কমেন্ট করে বুঝিয়ে দিয়েছি, কোন কোডটা ১ম কলাম এবং কোন কোডটা তৃতীয় কলামকে ধরেছে। এতে যা হয়েছে, তা দেখা যাক:</p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://mayeenulislam.github.io/tuts/wp-content/uploads/2015/10/css3-column.png"><img decoding="async" width="1024" height="314" src="https://mayeenulislam.github.io/tuts/wp-content/uploads/2015/10/css3-column-1024x314.png" alt="সিএসএস৩ দিয়ে ৩ কলামের ডিযাইন" class="wp-image-728" srcset="https://mayeenulislam.github.io/tuts/wp-content/uploads/2015/10/css3-column-1024x314.png 1024w, https://mayeenulislam.github.io/tuts/wp-content/uploads/2015/10/css3-column-300x92.png 300w, https://mayeenulislam.github.io/tuts/wp-content/uploads/2015/10/css3-column-768x236.png 768w, https://mayeenulislam.github.io/tuts/wp-content/uploads/2015/10/css3-column.png 1365w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">সিএসএস৩ দিয়ে ৩ কলামের ডিযাইন</figcaption></figure></div>


<p>এখন সময় এসেছে CSS3 ছদ্ম (pseudo) সিলেক্টর <code>:nth-of-type(n)</code> সম্পর্কে জানার:</p>



<p><code>:nth-of-type(n)</code> হলো কোনো একই এলিমেন্টের <code>n</code> তম-টিকে ধরার জন্য ব্যবহৃত সিলেক্টর। এটি ব্যবহার করে কোনো সিলেক্টরের, শীর্ষ&#8217;র&nbsp;ভিতরকার, নিজস্ব ধরণের <code>n</code> তম-টিকে ধরা যায়। <code>n</code> হতে পারে কোনো অংক, কীওয়ার্ড কিংবা কোনো ফর্মুলা।</p>



<p>এই কথাটা&nbsp;বোঝার জন্য নিচের কোড স্নিপেটটি দেখা যাক:</p>



<figure class="wp-block-embed is-type-rich is-provider-embed-handler wp-block-embed-embed-handler"><div class="wp-block-embed__wrapper">
View the code on <a href="https://gist.github.com/mayeenulislam/21d8e81800455702e4b9">Gist</a>.
</div></figure>



<p>মানে হচ্ছে, একটা <code>&lt;div&gt;</code>-এর ভিতরে <code>&lt;p&gt;</code>, <code>&lt;span&gt;</code>, <code>&lt;a&gt;</code> ইত্যাদি বিভিন্ন ধরণের&nbsp;ট্যাগ থাকলে, <code>&lt;div&gt;</code>টা হচ্ছে শীর্ষ বা প্যারেন্ট; এখন আমরা যদি <code>p:nth-of-type(2)</code> লিখি, তাহলে তা এর ভিতরকার দ্বিতীয় p ট্যাগকে ধরবে। যদিও দ্বিতীয় এলিমেন্টটা p না, বরং a, কিন্তু সে যেহেতু শুধুমাত্র একই ধরণের এলিমেন্টকে টার্গেট করে, তাই p-এর দ্বিতীয় এলিমেন্টকে সে ধরবে। আমাদের এই উদাহরণে <code>n</code> হচ্ছে ২, কেননা আমরা দ্বিতীয়টাকে সিলেক্ট করার জন্য বলেছি।</p>



<p>ঠিক একইভাবে <code>:nth-child(n)</code>-ও ব্যবহার করা যায়, কিন্তু <code>nth-child</code> যেটা করে, সে, ধরণের ধার ধারে না, বরং শীর্ষ&#8217;র ভিতরকার <code>n</code>-তম সন্তানকে খুঁজে নেয়। যেমন: উপরের উদাহরণে আমরা যদি <code>p:nth-child(2)</code> লিখতাম, তাহলে সে কিন্তু কিছুই করতো না, কারণ আমাদের শীর্ষ&#8217;র দ্বিতীয় এলিমেন্টটা কোনো <code>&lt;p&gt;</code> ট্যাগ না, বরং একটা <code>&lt;a&gt;</code> ট্যাগ।</p>



<p>আমরা যখন ডিযাইন করছি, তখন শুধু <code>&lt;div&gt;</code> দিয়ে হয়তো করছি, বিভিন্ন এলিমেন্টের মিশেল না হলে <code>nth-of-type</code> কিংবা <code>nth-child</code>-এর যেকোনোটি ব্যবহার করা যায়। কিন্তু যদি বিভিন্ন এলিমেন্টের মিশেল থাকে, তাহলে <code>nth-of-type</code>-এর ব্যবহার নির্দিষ্ট আর&nbsp;নিরাপদও।</p>



<h3>ফর্মুলা</h3>



<p>এখানে তো আমরা ৩টি কলামের কোড দেখিয়েছি বোঝানোর জন্য। আপনার তো ৪ কলাম, ৫ কলাম, ১০ কলাম অনেক কিছুরই দরকার হতে পারে, তখন কী করবেন? তাই জেনে নিতে হবে ফর্মুলাটা। তাহলে যেকোনো সংখ্যক কলাম তৈরিতে নিশ্চিন্ত থাকা যাবে:</p>



<p class="has-text-align-center"><strong>কলাম সংখ্যা × n + লক্ষ্য কলাম</strong></p>



<p>কয়টা কলাম হবে? ৪টা। তাহলে কলাম সংখ্যা হলো ৪। এবারে কোন কলামকে টার্গেট করে সিএসএস লিখতে চান? প্রথম&nbsp;কলামকে। তাহলে লক্ষ্য কলাম হচ্ছে ১। কোন কলামকে টার্গেট করে সিএসএস লিখতে চান? ৪র্থ কলামকে। তাহলে লক্ষ্য কলাম হচ্ছে ৪।</p>



<pre class="wp-block-preformatted">.item:nth-of-type(4n + 1){ /* css rules here */ }
.item:nth-of-type(4n + 4){ /* css rules here */ }
</pre>



<p>আমরা ঠিক এই কৌশল কাজে লাগিয়ে পত্রিকার জন্য একটা লেআউট তৈরি করলাম:</p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://mayeenulislam.github.io/tuts/wp-content/uploads/2015/10/css3-columns-preview-by-nanodesigns.jpg"><img decoding="async" width="1008" height="1024" src="https://mayeenulislam.github.io/tuts/wp-content/uploads/2015/10/css3-columns-preview-by-nanodesigns-1008x1024.jpg" alt="CSS3 দিয়ে করা কলাম দিয়ে পত্রিকার লেআউট" class="wp-image-729" srcset="https://mayeenulislam.github.io/tuts/wp-content/uploads/2015/10/css3-columns-preview-by-nanodesigns-1008x1024.jpg 1008w, https://mayeenulislam.github.io/tuts/wp-content/uploads/2015/10/css3-columns-preview-by-nanodesigns-295x300.jpg 295w, https://mayeenulislam.github.io/tuts/wp-content/uploads/2015/10/css3-columns-preview-by-nanodesigns-768x780.jpg 768w, https://mayeenulislam.github.io/tuts/wp-content/uploads/2015/10/css3-columns-preview-by-nanodesigns.jpg 1349w" sizes="(max-width: 1008px) 100vw, 1008px" /></a><figcaption class="wp-element-caption">CSS3 দিয়ে করা কলাম দিয়ে পত্রিকার লেআউট</figcaption></figure></div>


<h3>সীমাবদ্ধতা</h3>



<p>CSS3 ছদ্ম সিলেক্টরগুলো ব্যবহারে কিছুটা সীমাবদ্ধতা আছে। বিশেষ করে Internet Explorer 8-এ <code>:nth-of-type(n)</code> এবং <code>:nth-child(n)</code> কাজ করে না। এই ছদ্ম সিলেক্টরদ্বয় সমর্থনকারী প্রথম সংস্করণগুলো হলো: Google Chrome 4.0, Internet Explorer (IE) 9, Mozilla Firefox 3.5, Apple Safari 3.2, এবং Opera 9.6। যদি আপনার সাইট এসকল ব্রাউযারে ব্রাউয হবার সম্ভাবনা থাকে, তাহলে আপনার জন্য বিকল্প হিসেবে <a href="https://mayeenulislam.github.io/tuts/columns-php-loop/" target="_blank" rel="noreferrer noopener">PHP দিয়ে তৈরি কলাম</a> তো থাকলোই&#8230;। <img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>



<div class="is-content-justification-center is-layout-flex wp-container-1 wp-block-buttons">
<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="https://github.com/mayeenulislam/css3-columns" target="_blank" rel="noreferrer noopener">Github রেপোযিটোরি</a></div>



<div class="wp-block-button"><a class="wp-block-button__link wp-element-button" href="http://mayeenulislam.github.io/css3-columns/" target="_blank" rel="noreferrer noopener">প্রিভিউ দেখুন</a></div>
</div>



<p><strong>&#8211; মঈনুল ইসলাম</strong><br><img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f517.png" alt="🔗" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a rel="noreferrer noopener" href="https://mayeenulislam.github.io/" target="_blank">mayeenulislam.github.io</a></p>



<hr class="wp-block-separator has-alpha-channel-opacity"/>



<h3>বাড়তি সহায়তা</h3>



<ul>
<li><a rel="noreferrer noopener" href="https://developer.mozilla.org/en-US/docs/Web/CSS/:nth-of-type" target="_blank">CSS3 <code>:nth-of-type</code> Selector^</a> &#8211; MDN Dev Net</li>



<li><a rel="noopener" href="https://css-tricks.com/examples/nth-child-tester/" target="_blank">nth-child, nth-of-type, nth-last-child, nth-last-of-type সিলেক্টর পরখ করে দেখার অনলাইন অ্যাপ^</a> &#8211; সিএসএস ট্রিক্‌স</li>
</ul>
<p>The post <a rel="nofollow" href="https://mayeenulislam.github.io/tuts/column-design-css3/">CSS3 ব্যবহার করে কলাম তৈরি</a> appeared first on <a rel="nofollow" href="https://mayeenulislam.github.io/tuts/">Tuts by Mayeenul Islam</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mayeenulislam.github.io/tuts/column-design-css3/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>বাংলায় নমুনা লেখা – বাংলা Lorem ipsum</title>
		<link>https://mayeenulislam.github.io/tuts/bengali-lorem-ipsum/</link>
					<comments>https://mayeenulislam.github.io/tuts/bengali-lorem-ipsum/#respond</comments>
		
		<dc:creator><![CDATA[মঈনুল ইসলাম]]></dc:creator>
		<pubDate>Mon, 03 Nov 2014 06:58:28 +0000</pubDate>
				<category><![CDATA[ওয়েব ডিযাইন টিউটোরিয়াল]]></category>
		<category><![CDATA[Bangla Dummy Text]]></category>
		<category><![CDATA[বাংলা Lorem ipsum]]></category>
		<category><![CDATA[বাংলা নমুনা লেখা]]></category>
		<guid isPermaLink="false">https://mayeenulislam.github.io/tuts/?p=437</guid>

					<description><![CDATA[<p> [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://mayeenulislam.github.io/tuts/bengali-lorem-ipsum/">বাংলায় নমুনা লেখা – বাংলা Lorem ipsum</a> appeared first on <a rel="nofollow" href="https://mayeenulislam.github.io/tuts/">Tuts by Mayeenul Islam</a>.</p>
]]></description>
										<content:encoded><![CDATA[
<p>আমার বাংলা নিয়ে প্রথম কাজ করবার সুযোগ তৈরি হয়েছিল <a title="Avro Keyboard - FREE" href="http://www.omicronlab.com/avro-keyboard.html" target="_blank" rel="noopener">অভ্র^</a> নামক এক যুগান্তকারী বাংলা সফ্‌টওয়্যার হাতে পাবার মধ্য দিয়ে। এর পর একে একে বাংলা উইকিপিডিয়া, ওয়ার্ডপ্রেস বাংলা কোডেক্সসহ বিভিন্ন বাংলা অনলাইন পত্রিকা তৈরির কাজ করতে করতে বাংলার সাথে নিজেকে বেঁধে নিয়েছি আষ্টেপৃষ্ঠে। বিশেষ করে অনলাইন পত্রিকা তৈরি করতে ডিযাইন করার সময়, সেই ডিযাইনকে কোডে রূপান্তর করবার সময় বারবার অনুভব করেছি কিছু নমুনা লেখার। যে লেখাগুলো ফটোশপে বসিয়ে বাংলায় ডিযাইন করা যাবে, আবার সেই লেখাই অনলাইনে ব্যবহার করা যাবে। কিন্তু দুঃখজনক হলেও সত্য যে, ইংরেজিতে লাতিন Lorem Ipsum&#8230; সূচক নমুনা লেখা (dummy texts) থাকলেও বাংলা ভাষায় এরকম কোনো লেখা নেই। তাই নিজের তাগিদেই বাংলা ভাষার জন্য প্রথম নমুনা লেখা তৈরি করলাম, এ হলো বাংলা Lorem ipsum&nbsp;&#8211; কিন্তু তার অনুবাদ নয়। আমি একে নামকরণ করেছি:</p>



<h3> <strong>অর্থহীন লেখা!</strong></h3>



<p>আমি কোনো ভাষাবিজ্ঞানী নই। তাই ভাষাগত, শব্দব্যঞ্জনগত শুদ্ধতা, তাল-লয় -এসব বিষয়ে আমার জ্ঞান খুবই প্রাথমিক। তাই এই লেখায় এসব ভাষাবিজ্ঞানগত তাত্ত্বিক উপাদান খুঁজতে যাওয়া অর্থহীন হবে। আমি চেষ্টা করেছি বাংলা ভাষায় দীর্ঘ শব্দ রাখতে, তবে তা দীর্ঘতম &#8211; এমন দাবি আমি করছি না। আমি চেষ্টা করেছি, অংক (সংখ্যা) রাখতে, যাতে ফন্টের অবয়বটা টের পাওয়া যায়। আমি চেষ্টা করেছি যুক্তাক্ষর রাখতে, যতিচিহ্ন রাখতে,&#8230; অর্ধমাত্রার অক্ষর, পূর্ণমাত্রার অক্ষর, মাত্রাহীন অক্ষর, কার-ফলাযুক্ত শব্দ, বাক্যের এখানে-ওখানে রাখতে।</p>



<p>বাংলা সব অক্ষর রাখার একটা চেষ্টা ছিল। কিন্তু তা ব্যর্থ &#8211; আমি শেষে এই চেষ্টা করাটাকেই অপ্রয়োজনীয় মনে করলাম। এ-তো আর বাংলা ভাষার আগার হচ্ছে না, এ হলো পরম্পরাহীন, কিংবা তাৎপর্যপূর্ণ একটি লেখা, যা বাংলা ভাষার প্রতিনিধিত্ব করবে টাইপসেটিং, প্রিন্টিং, ইন্ডাস্ট্রিতে কিংবা ওয়েব ডিযাইনে।</p>



<div class="is-layout-constrained wp-block-group has-background" style="background-color:#c2ebdb"><div class="wp-block-group__inner-container">
<h4>অর্থহীন লেখা</h4>



<p>অর্থহীন লেখা যার মাঝে আছে অনেক কিছু। হ্যাঁ, এই লেখার মাঝেই আছে অনেক কিছু। যদি তুমি মনে করো, এটা তোমার কাজে লাগবে, তাহলে তা লাগবে কাজে। নিজের ভাষায় লেখা দেখতে অভ্যস্ত হও। মনে রাখবে লেখা অর্থহীন হয়, যখন তুমি তাকে অর্থহীন মনে করো; আর লেখা অর্থবোধকতা তৈরি করে, যখন তুমি তাতে অর্থ ঢালো। যেকোনো লেখাই তোমার কাছে অর্থবোধকতা তৈরি করতে পারে, যদি তুমি সেখানে অর্থদ্যোতনা দেখতে পাও। …ছিদ্রান্বেষণ? না, তা হবে কেন?</p>



<p>যে কথাকে কাজে লাগাতে চাও, তাকে কাজে লাগানোর কথা চিন্তা করার আগে ভাবো, তুমি কি সেই কথার জাদুতে আচ্ছন্ন হয়ে গেছ কিনা। তুমি যদি নিশ্চিত হও যে, তুমি কোনো মোহাচ্ছাদিত আবহে আবিষ্ট হয়ে অন্যের শেখানো বুলি আত্মস্থ করছো না, তাহলে তুমি নির্ভয়ে, নিশ্চিন্তে অগ্রসর হও। তুমি সেই কথাকে জানো, বুঝো, আত্মস্থ করো; মনে রাখবে, যা অনুসরণ করতে চলেছো, তা আগে অনুধাবন করা জরুরি; এখানে কিংকর্তব্যবিমূঢ় হবার কোনো সুযোগ নেই।</p>



<p>কোনো কথা শোনামাত্রই কি তুমি তা বিশ্বাস করবে? হয়তো বলবে, করবে, হয়তো বলবে “আমি করবো না।” হ্যা, “আমি করবো না” বললেই সবকিছু অস্বীকার করা যায় না, হয়তো তুমি মনের গহীন গভীর থেকে ঠিকই বিশ্বাস করতে শুরু করেছো সেই কথাটি, কিন্তু মুখে অস্বীকার করছো। তাই সচেতন থাকো, তুমি কী ভাবছো— তার প্রতি; সচেতন থাকো, তুমি কি আসলেই বিশ্বাস করতে চলেছো ঐ কথাটি… শুধু এতটুকু বলি, যা-ই বিশ্বাস করো না কেন, আগে যাচাই করে নাও; আর এতে চাই তোমার প্রত্যুৎপন্নমতিত্ব।</p>



<p>তাই কোন কথাটি কাজে লাগবে, তা নির্ধারণ করবে তুমি— হ্যাঁ, তুমি। হয়তো সামান্য ক’টা বাংলা অক্ষর: খন্ড-ত, অনুস্বার, বিঃসর্গ কিংবা চন্দ্রবিন্দু— কিন্তু যদি তুমি বিশ্বাস করো, তাহলে হয়তো তুমি তা দিয়েই তৈরি করতে পারো এক উচ্চমার্গীয় মহাকাব্য- এক চিরসবুজ অর্ঘ্য। রচিত হতে পারে পৃথিবীর ১ম বিরাম চিহ্নের ইতিকথা – এক নতুন ঊষা। …মহাকাব্য লিখতে ঋষি-মুনি হওয়া লাগে না।<br>অর্থহীনতা আর অর্থদ্যোতনার সেই ঈর্ষাকাতর মোহাবিষ্টতা তাই তৈরি করে নাও নিজের মাঝে- চাই একটুখানি ঔৎসুক্য। নিজেই ঠিক করো, নিজের ভাষাটা কি অর্থহীন, নাকি কিছু সত্যিই বলছে!</p>
</div></div>



<p>যেহেতু এখনও ফটোশপের অনেক সংস্করণে ইউনিকোড লেখা সমর্থন করে না, তাই লেখাটি একই সাথে Unicode এবং ASCII সংস্করণে দেয়া হলো। ইউনিকোড সংস্করণটি ওয়েবসহ অন্যান্য সকল ইউনিকোড সমর্থন করে &#8211; এমন মাধ্যমে ব্যবহার করা যাবে। আর যেসকল ক্ষেত্রে বিজয় দিয়ে বাংলা লেখার পদ্ধতি প্রচলিত, সেখানে ASCII সংস্করণটি ব্যবহার করা যাবে। আসকি সংস্করণে (<a title="Bangla Lorem Ipsum by nanodesigns - ASCII version" href="https://www.dropbox.com/s/m3ywf6rplm0gu9y/Bengali-Lorem-Ipsum-by-nanodesigns-ASCII.zip" target="_blank" rel="noopener"><strong>ডাউনলোড করে নিন: 21kb</strong></a>) রয়েছে:</p>



<ul>
<li>Bengali-Lorem-Ipsum-by-nanodesigns-ASCII.docx</li>



<li>Bengali-Lorem-Ipsum-by-nanodesigns-ASCII.doc</li>



<li>Bengali-Lorem-Ipsum-by-nanodesigns-ASCII.txt</li>
</ul>



<p><strong>&#8211; মঈনুল ইসলাম<br><img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f517.png" alt="🔗" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a rel="noreferrer noopener" href="https://mayeenulislam.github.io/" target="_blank">mayeenulislam.github.io</a></strong></p>
<p>The post <a rel="nofollow" href="https://mayeenulislam.github.io/tuts/bengali-lorem-ipsum/">বাংলায় নমুনা লেখা – বাংলা Lorem ipsum</a> appeared first on <a rel="nofollow" href="https://mayeenulislam.github.io/tuts/">Tuts by Mayeenul Islam</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mayeenulislam.github.io/tuts/bengali-lorem-ipsum/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>পিএইচপি লুপ দিয়ে কলাম তৈরি &#8211; ২ কলাম, ৩ কলাম এবং যত ইচ্ছা</title>
		<link>https://mayeenulislam.github.io/tuts/columns-php-loop/</link>
					<comments>https://mayeenulislam.github.io/tuts/columns-php-loop/#comments</comments>
		
		<dc:creator><![CDATA[মঈনুল ইসলাম]]></dc:creator>
		<pubDate>Fri, 14 Feb 2014 14:38:50 +0000</pubDate>
				<category><![CDATA[ওয়েব ডিযাইন টিউটোরিয়াল]]></category>
		<category><![CDATA[ওয়েব ডেভলপমেন্ট টিউটোরিয়াল]]></category>
		<category><![CDATA[জ্ঞান-স্তরভিত্তিক টিউটোরিয়াল]]></category>
		<category><![CDATA[পিএইচপি টিউটোরিয়াল]]></category>
		<category><![CDATA[মাধ্যমিক স্তরের টিউটোরিয়াল]]></category>
		<guid isPermaLink="false">https://mayeenulislam.github.io/tuts/?p=417</guid>

					<description><![CDATA[<p> [&#8230;]</p>
<p>The post <a rel="nofollow" href="https://mayeenulislam.github.io/tuts/columns-php-loop/">পিএইচপি লুপ দিয়ে কলাম তৈরি &#8211; ২ কলাম, ৩ কলাম এবং যত ইচ্ছা</a> appeared first on <a rel="nofollow" href="https://mayeenulislam.github.io/tuts/">Tuts by Mayeenul Islam</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="wp-block-image">
<figure class="aligncenter"><a href="https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/banner-php-column-nanodesigns.jpg"><img decoding="async" width="800" height="300" src="https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/banner-php-column-nanodesigns.jpg" alt="Column Design using PHP-CSS by nanodesigns" class="wp-image-430" srcset="https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/banner-php-column-nanodesigns.jpg 800w, https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/banner-php-column-nanodesigns-300x113.jpg 300w, https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/banner-php-column-nanodesigns-768x288.jpg 768w" sizes="(max-width: 800px) 100vw, 800px" /></a></figure></div>


<p><strong>জ্ঞানস্তর:</strong> মাধ্যমিক</p>



<p class="has-text-align-center"><strong>লক্ষ্যণীয়:</strong> এই আলোচনায় ধরে নেয়া হয়েছে যে, পাঠকের পিএইচপি কন্ডিশনাল স্টেটমেন্ট এবং লুপ সম্পর্কে প্রাথমিক ধারণা রয়েছে।</p>



<p>আমি ফেসবুকে আমার অনেকগুলো ছবি একটা অ্যালবামে আপলোড করলাম, তারপর যখন অ্যালবামটা খুললাম, তখন দেখি ছবিগুলো কেমন থরে থরে সাজিয়ে রাখা হয়েছে, যেন পাশাপাশি পাঁচটা বাক্সে পাঁচটা ছবি, তারপর নিচে আবার পাঁচটা বাক্সে পাঁচটা ছবি&#8230; বেশ সুন্দর! কিংবা ধরা যাক, আমি একটা ওয়েবসাইট আছে, যেখানে আমার লেখাগুলো একটার পর একটা আসছে। এখন আমি চাচ্ছি যাতে লেখাগুলো দুই কলামে আসে &#8211; একটা লেখা বামের কলামে, তো দ্বিতীয় লেখাটা হবে ডানের কলামে, আবার তৃতীয় লেখাটা পরের লাইনে গিয়ে বসবে বামের কলামে&#8230; দারুণ হবে বিষয়টা। যারা পিএইচপি জানেন, তারা জানেন যে, এই ছবিগুলোকে একত্র করে দেখানো কিংবা লেখাগুলোকে একটার পর একটা নিয়ে এসে দেখানোর কাজটা করা হয় পিএইচপি লুপ ব্যবহার করে।</p>



<p>আমরা এরকম একটি অতি সাধারণ <tt>for loop</tt> নিলাম, যেখানে কিছু CSS ব্যবহার করে আমরা একটা প্রাথমিক চেহারা দাঁড় করাবো বিষয়টা বোঝার জন্য।</p>



<figure class="wp-block-embed is-type-rich is-provider-embed-handler wp-block-embed-embed-handler"><div class="wp-block-embed__wrapper">
View the code on <a href="https://gist.github.com/mayeenulislam/b286812097c0b3dadf05f8dfd389c656">Gist</a>.
</div><figcaption class="wp-element-caption">PHP ব্যবহার করে লুপ চালিয়ে লেখা দেখানো</figcaption></figure>



<p>আমরা এজন্য কিছু CSS লিখলাম, যাতে বিষয়টা একটু বোধগম্য হয়, এই সিএসএস-এর সাথে কলামের এখনও কোনো সম্পর্ক নেই; আমরা আসলে, কলামটা যে ঠিকমতো কাজ করছে, সেটা যাতে বুঝতে পারি, তারই জন্য একটা প্রস্তুতি নিচ্ছি মাত্র।</p>



<span id="more-417"></span>



<figure class="wp-block-embed is-type-rich is-provider-embed-handler wp-block-embed-embed-handler"><div class="wp-block-embed__wrapper">
View the code on <a href="https://gist.github.com/mayeenulislam/b286812097c0b3dadf05f8dfd389c656">Gist</a>.
</div><figcaption class="wp-element-caption">আমাদের লুপের লেখাগুলোকে একটু ডিযাইন করলাম আমরা</figcaption></figure>



<p>এবারে পাতাটা যদি আমরা ব্রাউযারে রান করি, তাহলে তা দেখা যাবে এরকম:</p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/PHP-column-loop-image-1.jpg"><img decoding="async" src="https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/PHP-column-loop-image-1-1024x357.jpg" alt="আমাদের ডিভগুলোর প্রাথমিক চেহারা (nanodesigns)" class="wp-image-422"/></a><figcaption class="wp-element-caption">আমাদের div-গুলোর প্রাথমিক চেহারা</figcaption></figure></div>


<p>আমরা জানি পিএইচপি লুপ দিয়ে একইরকমের কাজের পুণরাবৃত্তি করা যায়। যেমন: আমরা এখানে মাত্র একটাই <tt>content-body</tt> ডিভ ৫ বার দেখিয়েছি। আমরা আগেই বলেছি, কলাম করার জন্য এটা শ্রেফ প্রস্তুতি, এবারে আমরা এই কোড দিয়েই কলাম তৈরি করবো। লক্ষ করলে দেখবেন test নামক ক্লাস দিয়ে একটা ডিভ রেখেছি, এখানে আমরা বিভিন্ন পরীক্ষা-নিরীক্ষাগুলো করবো, যে পরীক্ষা-নিরীক্ষাগুলো আমরা ব্রাউযারে দেখবো।</p>



<h3><strong>২ কলাম তৈরি</strong></h3>



<p>কলাম তৈরি করার জন্য একটু ছোটবেলায় ঢু মেরে আসা যাক। আচ্ছা&#8230;, ভাগ অংকের কথা মনে আছে? একটু দেখা যাক। ৪-কে ২ দিয়ে ভাগ করুন। না না না না, ক্যালকুলেটর দিয়ে ভাগ করলে হবে না, একটু হাতে-কলমে করুন। করা হয়ে গেলে, এরপর ৩-কে ২ দিয়ে ভাগ করুন।</p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/PHP-column-loop-image-ramainder.jpg"><img decoding="async" width="360" height="215" src="https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/PHP-column-loop-image-ramainder.jpg" alt="ভাগ অংক - যেখানে ভাগশেষ বলে একটা কিছু ছিল :)" class="wp-image-419" srcset="https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/PHP-column-loop-image-ramainder.jpg 360w, https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/PHP-column-loop-image-ramainder-300x179.jpg 300w" sizes="(max-width: 360px) 100vw, 360px" /></a><figcaption class="wp-element-caption">ভাগ অংক &#8211; যেখানে ভাগশেষ বলে একটা কিছু ছিল 🙂</figcaption></figure></div>


<p>বিষয়টা কী হলো? ৪-কে ২ দিয়ে ভাগ দেয়ায় তা দেয়া গেলো, অর্থাৎ ৪, ২ দিয়ে নিঃশেষে বিভাজ্য। কিন্তু ৩-কে ২ দিয়ে ভাগ দেয়া গেলো না, কারণ তাতে ১ ভাগশেষ হিসেবে অবশিষ্ট থাকে। হ্যা, আমাদের উদ্দেশ্য আসলে ঐ ভাগ অংক শেখানো নয়, বরং ঐ ভাগশেষের সাথে আপনাকে পরিচয় করিয়ে দেয়া, কারণ এই সাধারণ একটা গাণিতিক হিসাব আমাদেরকে কলাম তৈরিতে খুব সহায়তা করবে। এবং মজার ব্যাপার হলো আপনি ক্যালকুলেটরেই ভাগশেষের হিসাব বের করতে পারবেন, তাই মাথা খাটিয়ে অংক করার ঝামেলা নেই, সুতরাং শান্তিই শান্তি!</p>



<p>ক্যালকুলেটরে কিংবা কম্পিউটারে গাণিতিক হিসাবে ভাগশেষকে বলা হয় modulus (উচ্চারণ: <i>মড্যূলাস</i>)। আর ভাগশেষের প্রতীকটা হলো %, একে বলা হয় modulo (উচ্চারণ: <i>মড্যূলো</i>)। অর্থাৎ 4 % 2 = 0 এবং 3 % 2 = 1। তাহলে ক্যালকুলেটরে কিভাবে তা বের করা যায়? এজন্য লাগবে সাইন্টিফিক ক্যালকুলেটর। একজন প্রোগ্রামারের জন্য কম্পিউটারেই আছে একটা ক্যালকুলেটর, সেটাকে সাইন্টিফিক মোডে খুলে নিলেই হবে। সেখানে ভাগশেষকে ইংরেজিতে লেখা আছে Mod। তাহলে করা যাক: 4 Mod 2, আর 3 Mod 2, যথাক্রমে 0 এবং 1 দেখাবে। আমরা কলাম তৈরিতে এই ভাগশেষকে খুব বেশি ব্যবহার করবো।</p>



<p>আমরা যেহেতু ২ কলামের জন্য কোড করছি, ২ কলাম করলে তা কীরকম হবে, সেটা দেখা যাক:</p>



<figure class="wp-block-table"><table><tbody><tr><td>1</td><td>2</td></tr><tr><td>3</td><td>4</td></tr><tr><td>5</td><td>&#8230;</td></tr></tbody></table><figcaption class="wp-element-caption">কলামের চেহারাটা যেমন হবে আরকি</figcaption></figure>



<p>এবারে এই সংখ্যাগুলোকে ২ দিয়ে ভাগ করি, যাতে ভাগশেষ জানতে পারি: 1 mod 2 = 1; 2 mod 2 = 0; 3 mod 2 = 1; 4 mod 2 = 0; 5 mod 2 = 1। কী বোঝা গেল? যেহেতু দুটি কলাম, তাই প্রথম ভাগশেষটা ১ এবং দ্বিতীয় ভাগশেষটা শূণ্য &#8211; এই ধারা বজায় রেখেই বারবার তারা ঘুরে ঘুরে আসছে। আমরা আসলে এই সুযোগটারই সদ্ব্যবহার করে আমাদের কলামের জন্য প্রয়োজনীয় ক্লাস লোড করবো।</p>



<p>আমরা এবারে লুপের মধ্যে কাউন্টার বসিয়ে ভাগশেষ করে একটা মজার বিষয় দেখবো, আগের কোডের মধ্যে নিচের মতো করে কোডগুলো লিখে ফেলুন:</p>



<figure class="wp-block-embed is-type-rich is-provider-embed-handler wp-block-embed-embed-handler"><div class="wp-block-embed__wrapper">
View the code on <a href="https://gist.github.com/mayeenulislam/b286812097c0b3dadf05f8dfd389c656">Gist</a>.
</div><figcaption class="wp-element-caption">PHP Loop এবং Modulus ব্যবহার করে ২ কলাম তৈরি</figcaption></figure>



<p>কোডটা লিখে পেজটা রিফ্রেশ করুন&#8230; মজাটা কি এবারে দেখা যাচ্ছে? অবশ্যই দেখা যাচ্ছে। কী দেখা যাচ্ছে?</p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/PHP-column-loop-image-2.jpg"><img decoding="async" src="https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/PHP-column-loop-image-2-1024x474.jpg" alt="ডিভগুলোতে তাদের ক্রমসংখ্যানুপাতিক ভাগশেষ কেমন আসছে। (nanodesigns)" class="wp-image-423"/></a><figcaption class="wp-element-caption">ডিভগুলোতে তাদের ক্রমসংখ্যানুপাতিক ভাগশেষ কেমন আসছে</figcaption></figure></div>


<p>এখানে দেখতেই পাচ্ছেন, যখন ডিভটা হচ্ছে ‌১ (মানে প্রথম ডিভ), তখন ২ দিয়ে ভাগ করলে তার ভাগশেষটা হচ্ছে ১; যখন ডিভ ২, তখন ২ দিয়ে ভাগ করলে তার ভাগশেষটা ০। প্রশ্ন হচ্ছে আমরা দুই দিয়ে ভাগ করছি কেন?</p>



<p>উত্তরটা খুব সহজ: কারণ আমরা দুই কলাম (2-column code) তৈরি করার জন্য কোড করছি।</p>



<p>এবারে আমরা পরীক্ষা করার জন্য যে লাইনটা লিখেছিলাম, সেটা এখনই ফেলে না দিয়ে ওটা ব্যবহার করে কিছু কন্ডিশন বা শর্ত দেয়া যাক। আমরা জানি, পিএইচপি-তে শর্ত দেয়া মানেই <tt>if-else</tt>-এর ব্যবহার।</p>



<figure class="wp-block-embed is-type-rich is-provider-embed-handler wp-block-embed-embed-handler"><div class="wp-block-embed__wrapper">
View the code on <a href="https://gist.github.com/mayeenulislam/b286812097c0b3dadf05f8dfd389c656">Gist</a>.
</div><figcaption class="wp-element-caption">PHP Loop এবং Modulus বা ভাগশেষ ব্যবহার করে আলাদা আলাদা ক্লাস লোড করা</figcaption></figure>



<p>আমরা ঐ ভাগশেষকে কাজে লাগিয়ে মাত্র একটা শর্ত দিয়ে কী দারুণভাবে কিছু ডায়নামিক লেখা যোগ করে ফেললাম। আমরা আমাদের <tt>test</tt> ডিভে সেটা দেখতে পাচ্ছি। (<em>দেখার জন্যই তো রেখেছি ওটাকে</em> 🙂 )</p>



<p>শর্তটা হলো:</p>



<p>যদি ডিভটাকে ২ দিয়ে ভাগ করলে ভাগশেষ শূণ্য পাও, তাহলে <tt>$class</tt> ভ্যারিয়েবলে রাখো “ second-div” কথাটা, নাহলে রাখো “ first-div” কথাটা।</p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/PHP-column-loop-image-3.jpg"><img decoding="async" src="https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/PHP-column-loop-image-3-1024x506.jpg" alt="ভাগশেষ অনুসারে আমাদের লোড করা ক্লাসগুলো দেখা যাচ্ছে। (nanodesigns)" class="wp-image-424"/></a><figcaption class="wp-element-caption">ভাগশেষ অনুসারে আমাদের লোড করা ক্লাসগুলো দেখা যাচ্ছে</figcaption></figure></div>


<p>আপনি ব্রাউযারে Inspect Element করলেই আসল মজাটা পাবেন, কারণ দেখতে পাবেন, আপনার <tt>content-body</tt> ক্লাসের পাশে এবারে খুব সুন্দর করে যথাক্রমে <tt>first-div</tt> এবং <tt>second-div</tt> নামে দুটো HTML ক্লাস বসে গেছে। আসলে যে, ঐ <tt>first-div</tt> আর <tt>second-div</tt> কথাটা দুটো ক্লাসের নাম আমরা এখন সেটা বুঝতে পারছি আমরা। এজন্যই নামগুলোর আগে, ডাবল কোটের ভিতরে <strong>একটা স্পেস বা ফাঁকা স্থান রেখে নিয়েছি</strong>, যাতে, যখন তা ক্লাস হিসেবে বসবে, তখন যেন অন্য আরেকটা ক্লাসের সাথে লেগে না যায়, তাহলে কাজ করবে না।</p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/PHP-column-loop-image-4.jpg"><img decoding="async" width="337" height="152" src="https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/PHP-column-loop-image-4.jpg" alt="ডেভলপার টুলে দেখা যাচ্ছে, কিভাবে ডিভে ক্লাসগুলো ক্রমান্বয়ে বসেছে। (nanodesigns)" class="wp-image-425" srcset="https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/PHP-column-loop-image-4.jpg 337w, https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/PHP-column-loop-image-4-300x135.jpg 300w" sizes="(max-width: 337px) 100vw, 337px" /></a><figcaption class="wp-element-caption">ডেভলপার টুলে দেখা যাচ্ছে, কিভাবে ডিভে ক্লাসগুলো ক্রমান্বয়ে বসেছে</figcaption></figure></div>


<p>আমরা যেহেতু আমাদের ডিভের মধ্যে ডায়নামিকভাবে ক্লাস লোড করতে পেরেছি, আসল কাজটাই হয়ে গেছে আমাদের। বাকিটা এবার CSS-এর কারসাজি।</p>



<p>এবারে আমাদের <tt>content-body</tt> ক্লাসে দেয়া <tt>width</tt>-কে কমিয়ে অর্ধেকের একটু কম করে ফেলবো (অর্ধেক করছি কারণ পুরো ডিভ যদি 100%, তাকে 2 দিয়ে ভাগ করলে তা 50% হয়, আমরা দুটো কলামের মাঝে একটা ফাঁকা স্থান রাখার জন্য তা আরো একটু কমিয়ে এনেছি), এছাড়া এতে একটু <tt>float</tt> দিবো; আর নতুন দুটো ক্লাসে প্রোপার্টি দিবো।</p>



<figure class="wp-block-embed is-type-rich is-provider-embed-handler wp-block-embed-embed-handler"><div class="wp-block-embed__wrapper">
View the code on <a href="https://gist.github.com/mayeenulislam/b286812097c0b3dadf05f8dfd389c656">Gist</a>.
</div><figcaption class="wp-element-caption">লুপের div-গুলোকে ডানে-বামে সাজানোর জন্য CSS লিখলাম</figcaption></figure>



<p>ব্যস, হয়ে গেলো আমাদের কলাম। এই প্রোপার্টিগুলো একটা একটা করে দিয়ে দিয়ে প্রিভিউ দেখলে বুঝতে পারা যাবে, কিভাবে কাজটি হচ্ছে। তবুও বলছি: আমরা <tt>content-body</tt>-তে বামে ফ্লট দিয়ে <tt>width</tt> [অর্ধেকেরও কমে] কমিয়ে দিতেই ডিভগুলো বাম বরাবর পাশাপাশি এসে যাবে। তারপর শুধু ডানপাশের ডিভগুলোকে (<tt>.second-div</tt>) ডানে ফ্লট করে দিতেই আমাদের কাঙ্ক্ষিত কলাম তৈরি হয়ে গেলো। শুধু একটাই সমস্যা: এখনতো সবগুলো ডিভের উচ্চতা সমান, তাই বিষয়টা বোঝা যাচ্ছে না, কিন্তু যখন ডায়নামিক কন্টেন্ট দিয়ে ডিভগুলো ভরবে, তখন এগুলো কোনটা উচ্চতায় ছোট, কোনোটা বড় হবে। তখন <tt>second-div</tt>-এর উচ্চতা কমলেই <tt>first-div</tt> লাফ দিয়ে ডানদিকে সরে গিয়ে উপরের ঐ ফাঁকা জায়গাটা ভরতে যাবে, কারণ সব ডিভেই ফ্লট দেয়া &#8211; যা আমরা কোনোভাবেই চাই না। এজন্য আমরা প্রত্যেকটা <tt>first-div</tt>-কে বলে দিলাম, তুমি ডানে-বামে কোনোদিকেই ফ্লট মানবে না। সব মিলে যা দাঁড়ালো:</p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/PHP-column-loop-image-5.jpg"><img decoding="async" width="1024" height="398" src="https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/PHP-column-loop-image-5-1024x398.jpg" alt="ক্লাস অনুসারে সিএসএস বাসতেই কিভাবে ডিভগুলো যার যার অবস্থান করে নিয়েছে। (nanodesigns)" class="wp-image-426" srcset="https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/PHP-column-loop-image-5-1024x398.jpg 1024w, https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/PHP-column-loop-image-5-300x117.jpg 300w, https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/PHP-column-loop-image-5-768x299.jpg 768w, https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/PHP-column-loop-image-5.jpg 1366w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">ক্লাস অনুসারে সিএসএস বাসতেই কিভাবে ডিভগুলো যার যার অবস্থান করে নিয়েছে</figcaption></figure></div>


<p>ব্যস, হয়ে গেল আমাদের ২ কলাম তৈরি। শুধু আরেকটু সুন্দর করে উপস্থাপন করার জন্য আর কোড কমিয়ে আনার জন্য এবারে কোডে কিছু যাদু প্রয়োগ করা যাক:</p>



<p>আমরা <tt>test</tt> ডিভটা ফেলে দিবো, ওটার কাজ শেষ। আমরা যে কন্ডিশনাল স্টেটমেন্টটা লিখেছিলাম, তাকে শর্ট ফর্মে লিখতে পারি। তাহলে&#8230;</p>



<pre class="wp-block-preformatted">&lt;?php if( $divCounter % 2 == 0 ) { $class = ' second-div'; } else { $class = ' first-div'; } ?&gt;
</pre>



<p>হয়ে যাবে&#8230;</p>



<pre class="wp-block-preformatted">&lt;?php $class = ( $divCounter % 2 == 0 ? ' second-div' : ' first-div' ); ?&gt;</pre>



<p>আর সিএসএস-এ <tt>.content-body</tt> থেকে <tt>box-shadow</tt>’র লাইনটা বাদ দিয়ে দিই, তাহলে বর্ডারটা চলে যাবে। ব্যস হয়ে গেলো আমাদের দুই কলাম তৈরির কাজ। এবারে পূর্ণাঙ্গ কোডটি নিচের লিংক থেকে নামিয়ে মিলিয়ে নিতে পারেন।</p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/PHP-column-loop-image-6.jpg"><img decoding="async" width="1024" height="332" src="https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/PHP-column-loop-image-6-1024x332.jpg" alt="পরীক্ষামূলক কোডগুলো সরিয়ে নিলেই ভেসে উঠলো আমাদের কাঙ্ক্ষিত কলাম। (nanodesigns)" class="wp-image-427" srcset="https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/PHP-column-loop-image-6-1024x332.jpg 1024w, https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/PHP-column-loop-image-6-300x97.jpg 300w, https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/PHP-column-loop-image-6-768x249.jpg 768w, https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/PHP-column-loop-image-6.jpg 1365w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">পরীক্ষামূলক কোডগুলো সরিয়ে নিলেই ভেসে উঠলো আমাদের কাঙ্ক্ষিত কলাম</figcaption></figure></div>


<h3>৩ কলাম তৈরি</h3>



<p>যারা ২ কলাম তৈরি করতে পেরেছেন, সবচেয়ে বড় কথা, বুঝে বুঝে কাজটা করতে পেরেছেন, তারা এবারে অনায়াসেই ৩ কলামের কাজটি করে ফেলতে পারেন। লজিক বা সূত্রটা এক্ষেত্রেও সমান। সেই একই ভাগশেষের অংক, শুধু পার্থক্য হলো এবারে ৩ দিয়ে ভাগ দিয়ে দিয়ে কাজ করতে হবে। আমি বরং সরাসরি কোডটা দিই, তারপর বুঝিয়ে বলি:</p>



<figure class="wp-block-embed is-type-rich is-provider-embed-handler wp-block-embed-embed-handler"><div class="wp-block-embed__wrapper">
View the code on <a href="https://gist.github.com/mayeenulislam/b286812097c0b3dadf05f8dfd389c656">Gist</a>.
</div><figcaption class="wp-element-caption">PHP Loop এবং Modulus দিয়ে ৩ কলাম তৈরির কৌশল</figcaption></figure>



<p>সাথে লাগবে এই সিএসএসগুলো:</p>



<figure class="wp-block-embed is-type-rich is-provider-embed-handler wp-block-embed-embed-handler"><div class="wp-block-embed__wrapper">
View the code on <a href="https://gist.github.com/mayeenulislam/b286812097c0b3dadf05f8dfd389c656">Gist</a>.
</div><figcaption class="wp-element-caption">৩ কলামের লুপ কলাম আকারে দেখার জন্য প্রয়োজনীয় CSS</figcaption></figure>



<p>এবারে পাতাটি ব্রাউযারে খুললেই দেখা যাবে বিষয়টা কী হচ্ছে।</p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/PHP-column-loop-image-7.jpg"><img decoding="async" width="1024" height="499" src="https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/PHP-column-loop-image-7-1024x499.jpg" alt="৩ কলামের চেহারাটা হবে এরকম। নিচে, ডেভলপার টুলে ডিভের ক্লাসগুলো কিভাবে লোড হয়েছে, তাও দেখা যাচ্ছে। (nanodesigns)" class="wp-image-421" srcset="https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/PHP-column-loop-image-7-1024x499.jpg 1024w, https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/PHP-column-loop-image-7-300x146.jpg 300w, https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/PHP-column-loop-image-7-768x374.jpg 768w, https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/PHP-column-loop-image-7.jpg 1354w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">৩ কলামের চেহারাটা হবে এরকম। নিচে, ডেভলপার টুলে ডিভের ক্লাসগুলো কিভাবে লোড হয়েছে, তাও দেখা যাচ্ছে</figcaption></figure></div>


<p>এখানে লক্ষ করুন: প্রথমত বিষয়টা বুঝার জন্য for-loop-এর লিমিটটা একটু বাড়িয়ে নিয়েছি। তারপর সেই ভাগ শেষ পন্থায় আমরা ক্লাস লোড করেছি। যখন আমরা তিন কলামের জন্য কাজ করছি, তখন কলামগুলো কিভাবে পড়ছে, দেখা যাক:</p>



<figure class="wp-block-table"><table><tbody><tr><td>1</td><td>2</td><td>3</td></tr><tr><td>4</td><td>5</td><td>6</td></tr><tr><td>7</td><td>&#8230;</td><td>&#8230;</td></tr></tbody></table><figcaption class="wp-element-caption">৩ কলামের ক্ষেত্রে দৃশ্যমান চেহারাটা যেমন</figcaption></figure>



<p>এবারে ৩ দিয়ে একটা একটা করে ভাগ করা যাক, 1 mod 3 = 1; 2 mod 3 = 2; 3 mod 3 = 0; 4 mod 3 = 1; 5 mod 3 = 2; 6 mod 3 = 0; 7 mod 3 = 1। দেখা যাচ্ছে, যে সংখ্যাকে ভাগ করিনা কেন, তিনটা আলাদা আলাদা ভাগশেষ আসার পরই, আবার ঐ একই ভাগশেষই তিনবার তিনবার করে ঘুরে ঘুরে আসছে। আমরা আসলে এই ব্যাপারটাকেই টার্গেট করছি আর এর অনুপাতে প্রয়োজনীয় ডিভ ক্লাস লোড করছি।</p>



<p>লক্ষ করলে দেখবেন, আমরা মাত্র দুটো ক্লাস লোড করে দুটো কলামকে চিহ্নিত করেছি। কারণ, আমাদের কলাম তৈরি করাতে দ্বিতীয় কলাম কোনটি, তা না জানলেও চলছে। প্রথম কলামের জন্য লজিক আগের মতোই, ফ্লটকে ক্লিয়ার করে দিচ্ছি। তবে .content-body-তে অতিরিক্ত হিসেবে যোগ হয়েছে margin-right। ডানদিকে মার্জিন দেয়ার কারণে প্রথম কলাম থেকে দ্বিতীয় কলাম পর্যন্ত একটা ফাঁকা স্থান তৈরি হয়েছে, তেমনি দ্বিতীয় কলাম থেকে তৃতীয় কলাম পর্যন্ত ফাঁকা স্থান, তেমনি তৃতীয় কলাম থেকে ডানদিকে ফাঁকা স্থান। দেখা যাচ্ছে, এই ডানদিকে-মার্জিনের প্রভাব পড়ছে সবগুলো ডিভে, অথচ তৃতীয় কলামের ডানে আর মার্জিনের দরকার নেই আমাদের, কারণ ওপাশে আর কোনো কলাম নেই, তাই আমরা .third-div-এ margin: 0 করে দিয়েছি।</p>



<p>ব্যস, লজিকটা আমরা এবারে জেনে গেছি।</p>


<div class="wp-block-image">
<figure class="aligncenter"><a href="https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/PHP-column-final-nanodesigns.jpg"><img decoding="async" width="1024" height="606" src="https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/PHP-column-final-nanodesigns-1024x606.jpg" alt="তিন কলাম দিয়ে তৈরি করা একটা নমুনা ডিযাইন। (nanodesigns)" class="wp-image-428" srcset="https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/PHP-column-final-nanodesigns-1024x606.jpg 1024w, https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/PHP-column-final-nanodesigns-300x178.jpg 300w, https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/PHP-column-final-nanodesigns-768x455.jpg 768w, https://mayeenulislam.github.io/tuts/wp-content/uploads/2014/02/PHP-column-final-nanodesigns.jpg 1353w" sizes="(max-width: 1024px) 100vw, 1024px" /></a><figcaption class="wp-element-caption">তিন কলাম দিয়ে তৈরি করা একটা নমুনা ডিযাইন</figcaption></figure></div>


<p>পুরো প্রজেক্টের সোর্স কোড নিচের লিংক থেকে নামিয়ে নিতে পারেন। সাথে, তিন কলাম দিয়ে করা নমুনা ডিযাইনও থাকছে।</p>



<h3>৪, ৫ ইত্যাদি আরো বেশি কলাম</h3>



<p>লজিকটা এখন আর আশা করি বুঝিয়ে বলা লাগবে না। এই এক লজিকে আমরা মনের মতো করে ডিভে ইচ্ছেমতো ক্লাস লোড করে নিতে পারি, আর সে অনুপাতে সিএসএস দিয়ে সাজিয়ে নিতে পারি আমাদের ডিভগুলোকে আলাদা আলাদা করে। শুধু সূত্রে পরির্বতনটা হবে, যে সংখ্যা দিয়ে ভাগ করা হচ্ছে, তা: কারণ ২ কলামের সময় ভাগ দিয়েছি ২ দিয়ে, ৩ কলামের সময় ৩&#8230; তো ৩৯ কলামের জন্য???</p>



<h3>শেষ কথা</h3>



<p>এই টিউটোরিয়ালে আমরা পিএইচপি লুপ কাজে লাগিয়ে ক্লাস লোড করে করে তাতে সিএসএসের প্রয়োগ করে কলাম তৈরি করেছি। এখানে আমরা CSS2 ব্যবহার করেছি। কিন্তু CSS3 দিয়ে, ক্লাস লোড না করেই এরকম কলাম তৈরি করা যায়। সেটা আমরা অন্য অরেকদিন দেখবো। তবে, এই লুপ দিয়েই এখনকার মতো অনেক কাজ আপনারা সেরে নিতে পারবেন।</p>



<p>আপনাদের জন্য একটা অ্যাসাইনমেন্ট থাকুক: এই লজিক কাজে লাগিয়ে যে যার মতো নিত্য-নতুন সংখ্যক কলাম ব্যবহার করে ডিযাইন করে আমাদের সাথে শেয়ার করুন। আর জানান, যদি কোনো সমস্যায় পড়ে থাকেন। টিউটোরিয়ালটা কাজে লাগলো কিনা, তাও জানান।</p>



<p><strong>-মঈনুল ইসলাম</strong><br><img src="https://s.w.org/images/core/emoji/14.0.0/72x72/1f517.png" alt="🔗" class="wp-smiley" style="height: 1em; max-height: 1em;" /> <a rel="noreferrer noopener" href="https://mayeenulislam.github.io/" target="_blank">mayeenulislam.github.io</a></p>
<p>The post <a rel="nofollow" href="https://mayeenulislam.github.io/tuts/columns-php-loop/">পিএইচপি লুপ দিয়ে কলাম তৈরি &#8211; ২ কলাম, ৩ কলাম এবং যত ইচ্ছা</a> appeared first on <a rel="nofollow" href="https://mayeenulislam.github.io/tuts/">Tuts by Mayeenul Islam</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://mayeenulislam.github.io/tuts/columns-php-loop/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
