কম্পিউটার টিউটোরিয়াল

CSS ভিজ্যুয়াল ফরম্যাটিং মডেল


CSS ভিজ্যুয়াল ফরম্যাটিং একটি মডেল যা একটি অ্যালগরিদমের সাথে মিলে যেতে পারে যা ডকুমেন্টের প্রতিটি এলিমেন্ট প্রসেস ও ট্রান্সফর্ম করে CSS বক্স মডেলের সাথে সামঞ্জস্যপূর্ণ এক বা একাধিক বক্স তৈরি করে।

তैयার বক্সগুলোর লে-আউট নিচের প্রপার্টিগুলোর ওপর নির্ভর করে:

  • আয়তন (Dimensions)
  • প্রकार - এটমিক ইনলাইন-লেভেল, ব্লক, ইনলাইন, বা ইনলাইন-ব্লক
  • পজিশনিং - অ্যাবসোলিউট, ফ্লোট, বা নরমাল
  • ডকুমেন্টের চাইল্ড এবং পাড়ার এলিমেন্টের সাথে সম্পর্ক
  • বহিঃস্থ তথ্য - ভিউপোর্ট এবং ইমেজের প্রস্থ-উচ্চতা, ইত্যাদি।

প্রসেস করা এলিমেন্টের CSS বক্স জেনারেশন:

  • ব্লক লেভেল
    • এই এলিমেন্টগুলো নিজেদের আগে ও পরে লাইন ব্রেক বাধ্য করে এবং তাদের কন্টেন্টের প্রয়োজন নাও হলে পুরো উপলব্ধ প্রস্থ দখল করে।
    • উদাহরণ: ডিভিশন (<div>), হেডিং (<h1> থেকে <h6>), ইত্যাদি।
  • ইনলাইন লেভেল
    • এই এলিমেন্টগুলো নিজেদের আগে ও পরে লাইন ব্রেক বাধ্য করে না এবং কন্টেন্টের জন্য প্রয়োজনীয় প্রস্থ মাত্র দখল করে।
    • উদাহরণ: স্প্যান (<span>), স্ট্রอง এলিমেন্ট (<strong>)

উদাহরণ

ব্লক লেভেল বক্স জেনারেশনের উদাহরণ:

<!DOCTYPE html> <html> <head> <title>HTML Heading</title> <style> form {    width:70%;    margin: 0 auto;    text-align: center; } * {    padding: 2px;    margin:5px; } input[type="button"] {    border-radius: 10px; } #headingPreview h2{    background-color: #DC3545; } </style> </head> <body> <form> <fieldset> <legend>HTML Heading</legend> <input type="text" id="textSelect" placeholder="Type Heading Here..."> <div id="radioBut"> <label>H1</label><input class="radio" type="radio" name="heading" value="h1" checked > <label>H2</label><input class="radio" type="radio" name="heading" value="h2"> <label>H3</label><input class="radio" type="radio" name="heading" value="h3"> <label>H4</label><input class="radio" type="radio" name="heading" value="h4"> <label>H5</label><input class="radio" type="radio" name="heading" value="h5"> <label>H6</label><input class="radio" type="radio" name="heading" value="h6"> </div> <div>Heading Preview: <span id="headingPreview">Output will show up here</span></div> <input type="button" onclick="changeHeading()" value="Preview"> </fieldset></form> <script> var textSelect = document.getElementById("textSelect"); var headingPreview = document.getElementById("headingPreview"); function changeHeading() {    if(textSelect.value === '')       headingPreview.innerHTML = 'Write a Heading';    else{       for(var i=0; i<6; i++){          var radInp = document.getElementsByClassName('radio')[i];          if(radInp.checked === true && textSelect.value !== ''){             headingPreview.innerHTML = '<'+radInp.value+'>'+textSelect.value+'</'+radInp.value+'>';             headingPreview.innerHTML += '<'+radInp.value+'>'+textSelect.value+'</'+radInp.value+'>';          }       }    } } </script></body></html>

আউটপুট

উপরোক্ত কোডের আউটপুট:

'Preview' বাটনে ক্লিক করলে টেক্সট ফিল্ড খালি থাকলে:

CSS ভিজ্যুয়াল ফরম্যাটিং মডেল

'Preview' বাটনে ক্লিক করলে টেক্সট ফিল্ড খালি নন এবং 'h2' রেডিও বাটন চেকড থাকলে:

CSS ভিজ্যুয়াল ফরম্যাটিং মডেল

উদাহরণ

ইনলাইন লেভেল বক্স জেনারেশনের উদাহরণ:

<!DOCTYPE html> <html> <head> <title>em element</title> <style> form {    width:70%;    margin: 0 auto;    text-align: center; } * {    padding: 2px;    margin:5px; } input[type="button"] {    border-radius: 10px; } em{    background-color: #FF8A00; } </style> </head> <body> <form> <fieldset> <legend>em-element</legend> <label for="textSelect">Formatter: </label> <input id="textSelect" type="text" placeholder="John Doe"> <input type="button" onclick="convertItalic()" value="Check"> <div id="divDisplay"></div> </fieldset> </form> <script> var divDisplay = document.getElementById("divDisplay"); var textSelect = document.getElementById("textSelect"); function convertItalic() {    for(i=0; i<2; i++){       var italicObject = document.createElement("EM");       var italicText = document.createTextNode(textSelect.value);       italicObject.appendChild(italicText);       divDisplay.appendChild(italicObject);    } } </script> </body> </html>

আউটপুট

উপরোক্ত কোডের আউটপুট:

'Check' বাটনে ক্লিক করার আগে:

CSS ভিজ্যুয়াল ফরম্যাটিং মডেল

'Check' বাটনে ক্লিক করার পরে:

CSS ভিজ্যুয়াল ফরম্যাটিং মডেল


  1. CSS দিয়ে অনর্ডার্ড ও অর্ডার্ড লিস্ট ফরম্যাট করা

  2. CSS দিয়ে ইমেজে ভিজুয়াল ইফেক্ট যোগ করা

  3. CSS appearance প্রপার্টি দিয়ে কাস্টম রেডিও বাটন তৈরি

  4. HTML হেডিং (Heading): h1 থেকে h6 পর্যন্ত ছয় লেভেল