<ডিভিটি> দিয়ে কীভাবে অনুকরণ করবেন <<


19

আমি একটি ওয়েবসাইটে পাইথন কোড প্রকাশ করছি (এটি সিএমএস)। আমার কাছে পাইথন স্ক্রিপ্ট রয়েছে যা যে কোনও পাইথন স্ক্রিপ্ট পড়ে এবং এটি থেকে সিনট্যাক্স রঙের এইচটিএমএল তৈরি করে। তারপরে আমি এই HTML টি সিএমএস সম্পাদনা উইন্ডোতে অনুলিপি / আটকান।

সমস্যাটি হচ্ছে আমার পাইথন সিনট্যাক্স হাইলাইটিং স্ক্রিপ্টটি <pre>ট্যাব / স্পেসগুলি রাখার জন্য ট্যাগ ব্যবহার করে যা পাইথনটিতে বেশ গুরুত্বপূর্ণ। সিএমএস, যদিও কিছু অস্পষ্ট কারণে, <pre>ট্যাগটি সরিয়ে দেয় । অ্যাডমিন আমাকে বলেছিল যে এর <div>পরিবর্তে আমার ব্যবহার করা উচিত <pre><div>উইথ-স্পেস ফর্ম্যাটিংটি রাখতে আপনি কি আমাকে স্টাইলিংয়ে সহায়তা করতে পারেন ?


জন এর উত্তর জিজ্ঞাসা করা নির্দিষ্ট প্রশ্নের জরিমানা, যদিও এটি আপনার সামগ্রীর শব্দার্থকে কিছুটা হ্রাস করে। প্রাক ট্যাগটি ছিটিয়ে থাকা সিএমএস সম্পর্কিত, কিছু অ্যাপ্লিকেশনগুলির একটি সেটিং রয়েছে যা সামগ্রীগুলিতে কি এইচটিএমএলকে অনুমোদিত তা নির্দিষ্ট করে। যদি আপনি প্রচুর প্রাক-বিন্যাসযুক্ত পাঠ্য পোস্ট করেন তবে আপনার প্রশাসককে এটি নির্ধারণ করার জন্য জিজ্ঞাসা করা উচিত যে এটি যদি আপনার অ্যাপ্লিকেশনের জন্য উপস্থিত থাকে তবে আপনাকে (খোলামেলাভাবে) নির্বিচারে কাজের ক্ষেত্রগুলি ব্যবহার করতে বলার অপেক্ষা রাখে না।
সু '

উত্তর:


25

আপনি এটি সিএসএস white-spaceবিধি দিয়ে করতে পারেন :

div
{
  font-family: "Courier New", monospace;
  white-space: pre;
}

এই নিয়মের অন্তর্ভুক্ত ফন্টগুলি প্রতিটি অক্ষরকে একই প্রস্থে তৈরি করে যা কোনও <pre>ট্যাগের পাঠ্যের জন্য সাধারণ বিন্যাস ।

মনে রাখবেন যে এটি আপনার সমস্ত <div>ট্যাগকে এইভাবে আচরণ করবে । মূলত আপনি ঐ বরাদ্দ হবে <div>ট্যাগ শুধুমাত্র বেশী আপনি অনুকরণ করতে চান প্রভাবিত করার একটি বর্গ <pre>। কিছুটা এইরকম:

div.code
{
  font-family: "Courier New", monospace;
  white-space: pre;
}

অথবা, আরও ভাল, <code>যদি ট্যাগটি আপনার সিএমএস থেকে না ছড়িয়ে দেওয়া হয় তবে তা ব্যবহার করুন । এটি <pre>ট্যাগের মতো কাজ করে তবে কোড প্রদর্শনের জন্য শব্দার্থগতভাবে সঠিক।


2
উল্লেখ <code>এবং শব্দার্থবিজ্ঞানের জন্য +1 । নোট করুন যে <code>ডিফল্টরূপে হোয়াইটস্পেস মোড়ানো, সুতরাং আপনাকে white-space:nowrapএটিও বরাদ্দ করতে হবে। এছাড়াও <pre>একটি ব্লক উপাদান যেখানে <code>ইনলাইন রয়েছে; তাই নকল করা উচিত <pre>, display:blockদেওয়া উচিত।
জারি কেইনেনেন

"কুরিয়ার নিউ" ছাড়ুন, ডিফল্ট ফন্টটি আপনার ব্রাউজারের প্রাক আরও ঘনিষ্ঠভাবে মেলে।
অ্যাক্সেস_গ্রন্থিত

4

একটি DIVমত একটি ফর্ম্যাট করতে PRE, আপনার white-space: pre;জন্য একটি প্রয়োজন DIV। প্রথম উত্তরে বর্ণিত হিসাবে অতিরিক্ত হিসাবে আপনার একটি মনসপেস ফন্ট ব্যবহার করা উচিত।

সমাধানটি white-space: nowrap;ঠিক নয় কারণ এটি ট্যাবগুলি প্রদর্শন করে না এবং এখনও একাধিক স্পেস (@ জন কনডে) ভেঙে যায়।

  • nowrap: নওর্যাপ উল্লেখ করা নিশ্চিত করে যে শ্বেতস্পেসের ক্রমগুলি একটি একক স্থানের অক্ষরে পতিত হবে তবে লাইন ব্রেকগুলি দমন করা হবে।
  • pre: প্রাক নির্দিষ্টকরণ নিশ্চিত করে যে সাদা স্থানের ক্রমগুলি ভেঙে পড়বে না। লাইনগুলি কেবলমাত্র মার্কআপে (বা উত্পন্ন সামগ্রীতে "\ a" এর উপস্থিতিতে) নতুন লাইনগুলিতে নষ্ট হয়।

থেকে: http://references.sitepPoint.com/css/ white-space


1
মানটি white-spaceহওয়া উচিত preএবং না হওয়া সম্পর্কে আপনি সঠিক nowrap। আমি আমার উত্তর সংশোধন করেছি।
জন কনডে
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.