হাইফেনের পরে কোনও লাইন-ব্রেক নেই


340

আমি -সমস্ত ব্রাউজারের সাথে সামঞ্জস্যপূর্ণ কেস বাই কেস ভিত্তিতে হাইফেনের পরে লাইন বিরতি রোধ করতে চাই ।

উদাহরণ:

আমার এই পাঠ্যটি রয়েছে: 3-3/8"যা এইচটিএমএল এ এটি: 3-3/8”

সমস্যাটি হ'ল হাইফেনের কারণে কোনও রেখার শেষের কাছাকাছি, এটি একটি সম্পূর্ণ শব্দের মতো আচরণ করার পরিবর্তে এটি পরবর্তী লাইনটি ভেঙে যায় এবং মোড়ানো হয় ...

3-
3/8"

আমি ভাগ্য ছাড়াই "শূন্য প্রস্থের কোনও বিরতি চরিত্র" সন্নিবেশ করানোর চেষ্টা করেছি ...

3-3/8”

আমি এটি সাফারিতে দেখছি এবং ভাবছি এটি সমস্ত ব্রাউজারে একই হবে।

নীচে আমার doctypeএবং চরিত্রের এনকোডিং হচ্ছে ...

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
    <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />

হাইফেনের পরে লাইন-ব্রেকিং থেকে আমি কী কীভাবে প্রতিরোধ করতে পারি? আমার কোনও সমাধানের প্রয়োজন নেই যা পুরো পৃষ্ঠায় প্রযোজ্য ... কেবলমাত্র এমন কিছু যা আমি প্রয়োজন হিসাবে সন্নিবেশ করতে পারি, "শূন্য প্রস্থের কোনও বিরতি অক্ষর নয়" এর মতো কাজ করে।

এখানে একটি ডেমো রয়েছে। হাইফেনটিতে লাইনটি বিচ্ছিন্ন না হওয়া পর্যন্ত কেবল ফ্রেমটিকে সঙ্কুচিত করুন।

http://jsfiddle.net/RagKH/


@ এরিকলিশনস্কি, এটি ইতিমধ্যে একটি উত্তর হিসাবে পোস্ট করা হয়েছে: stackoverflow.com/a/12362315/594235
স্পার্কি

চরসেট = utf-8 এর সাহায্যে আপনি রাখতে পারেন - একটি নন ব্রেকিং হাইফেন
QuentinUK

@ কুইন্টিন ইউকে, ঠিক ... এটি কি ইতিমধ্যে গৃহীত উত্তর নয়? &#8209;একটি নন-ব্রেকিং হাইফেন।
স্পার্কি

& # 8209; সাধারণ ASCII, সুতরাং utf-8 প্রয়োজনীয় নয়। পৃষ্ঠার একটি utf-8 এনকোডিংয়ের মাধ্যমে প্রকৃত অক্ষরগুলি রাখা সম্ভব। - একই চরিত্রটি নয় - যদিও এটি একই দেখাচ্ছে।
QuentinUK

আপনি যা লিখেছেন তার সঠিক HTML এটি হবে 3-3/8&Prime;বা 3-3/8&#x2033;। উদ্ধৃতিগুলি প্রাইম নয়। আপনি যদি এটি খাঁটি ASCII তে চান তবে কেবল ( &#x22;) পরিবর্তে সরাসরি ডাবল উদ্ধৃতি ব্যবহার করুন । সাধারণত, যদি এটি ভাল, সুস্পষ্ট পাঠ্য হিসাবে উপস্থাপিত হতে থাকে তবে আপনি পরিবর্তে 3<span style="font-variant: diagonal-fractions">3/8</style>&Prime;'3⅜ ″' প্রদর্শন করে ব্যবহার করতে পারেন
ক্যানড ম্যান

উত্তর:


579

নন-ব্রেকিং হাইফেন ব্যবহার করার চেষ্টা করুন &#8209;। আমি আপনার জেসফিডেলে সেই অক্ষরটি দিয়ে ড্যাশ প্রতিস্থাপন করেছি, ফ্রেমটি যত কম যায় তত ছোট করে সঙ্কুচিত করে রেখাটি আর বিভক্ত হয় না।


10
আমি অনুভব করেছি যে এটি অ-ব্রেকিং স্পেসের মতো কিছু, তাই আমি কেবল 'নন-ব্রেকিং ড্যাশ' অনুসন্ধান করেছি এবং এখানেই শেষ করেছি । :-)
ক্যানস্পাইস

আহ্ ... আমি একটি "বিরতি চরিত্র" অনুসন্ধান করেছি এবং এটি দিয়ে প্রাচীরকে আঘাত করেছি &#65279;। আমার কাছে এটি কখনও ঘটেনি যে সেখানে দাঁড়িয়ে থাকা একা হাইফেন চরিত্রটি ভেঙে যায় না।
স্পার্কি

6
আইই 8/9 এ এই চরিত্রটি একটি সাধারণ হাইফেনের চেয়ে বেশি দীর্ঘায়িত করে। এটি এন-ড্যাশের মতো একই আকারের বলে মনে হয়।
mrtsherman

21
ফলাফলটি সাধারণ হাইফেন থেকে আলাদা হওয়ার কারণ হ'ল অনেক ফন্টে নন-ব্রেকিং হাইফেন থাকে না। এটি ব্রাউজারগুলিকে একটি ভিন্ন ফন্ট ব্যবহার করতে বাধ্য করে, এবং নন-ব্রেকিং হাইফেন সেই ফন্টে সাধারণ হাইফেনের মতো দেখতে লাগে , তবে এটি কোনও ভিন্ন হরফ থেকে একটি সাধারণ হাইফেনের সাথে মেলে এমন কোনও গ্যারান্টি নেই।
Jukka K. Korpela

5
আমি মনে করি দেবের উত্তর সবচেয়ে ভাল।
রায় চেং

256

আপনি এর সাথে প্রাসঙ্গিক পাঠ্য মোড়তেও পারতেন

<span style="white-space: nowrap;"></span>

17
হ্যাঁ, এটি গৃহীত ইমোর চেয়ে উত্তম উত্তর। ধন্যবাদ @ দেবেন।
সিএমএইচ

38
@ সিএমএইচএইচ সাহায্য করে না যদি আপনি শ্বেতস্পেসগুলি (ফাঁকা জায়গাগুলি যেখানে ব্যবহারকারীরা সাদা জায়গা দেখেন - কিছুই না) মোড়তে চান তবে আপনি হাইফেন দিয়ে শব্দগুলি বিভক্ত করতে চান না, যেমন "ই-মেইল" শব্দটি। গৃহীত উত্তর এই ক্ষেত্রে সহায়তা করে
xmojmr

12
সেক্ষেত্রে আপনি কেবল "ই-মেইল" এর আশেপাশে স্প্যান ব্যবহার করতে পারেন।
গির্তো

3
@ সিএমএইচ, এটি একটি ভাল উত্তর যা কার্যকরভাবে কাজ করে, তাই আমি এটির পক্ষে ভোট দিয়েছি। তবে, আমি এই উত্তরটি গ্রহণ না করা বেছে নিয়েছি কারণ আমি এমন একটি চরিত্র চেয়েছিলাম যা স্বয়ংক্রিয়ভাবে পরবর্তী লাইনে না যায় break নির্দিষ্ট ব্রাউজারগুলিতে একটি "নন-ব্রেকিং হাইফেন" ( &#8209;) নিয়মিত হাইফেনের চেয়ে সামান্য দীর্ঘ রেন্ডার হতে পারে এই বিষয়টি আমার কাছে তুচ্ছ।
স্পার্কি

11
@ স্পার্কি বিভিন্ন চরিত্র ব্যবহারের ক্ষেত্রে একটি সমস্যা হ'ল এটি অনুসন্ধান ফলাফলগুলিকে গোলমাল করে। পৃষ্ঠায় "3-3 / 8" সন্ধান করার চেষ্টা করে ননব্রেকিং হাইফেন পাবেন না।
মিস্টার লিস্টার

23

আইই 8/9 ক্যানস্পাইসের উত্তরে উল্লিখিত অ-ব্রেকিং হাইফেনটিকে একটি সাধারণ হাইফেনের চেয়ে দীর্ঘতর করে। এটি একটি সাধারণ হাইফেনের পরিবর্তে এন-ড্যাশের দৈর্ঘ্য। এই প্রদর্শনের পার্থক্যটি আমার জন্য একটি চুক্তিভঙ্গকারী ছিল।

আমি দেব দ্বারা নির্দিষ্ট সিএসএস উত্তরটি ব্যবহার করতে না পারার পরিবর্তে কোনও ব্রেক ব্রেক ব্যবহার করার বিকল্প বেছে নিয়েছি use

<nobr>e-mail</nobr>

তদতিরিক্ত আমি একটি নির্দিষ্ট দৃশ্যের সন্ধান পেয়েছি যার ফলে IE8 / 9 হাইফেনের উপর ভেঙে যায়।

  • একটি স্ট্রিংতে শব্দগুলি না ভাঙ্গা স্থান দ্বারা পৃথক করা থাকে - &nbsp;
  • প্রস্থ সীমাবদ্ধ
  • একটি ড্যাশ রয়েছে

আইই এটির মতো উপস্থাপন করে।

আইই 8/9 এ হাইফেন ব্রেকিংয়ের উদাহরণ

নীচের কোডটি উপরে চিত্রিত সমস্যাটি পুনরুত্পাদন করে। আইই 10 ইস্যুটি ঠিক করে দিয়েছে বলে আইই 9 তে জোর করে আমাকে একটি মেটা ট্যাগ ব্যবহার করতে হয়েছিল। কোনও ফিডাল নেই কারণ এটি মেটা ট্যাগগুলি সমর্থন করে না।

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta http-equiv="X-UA-Compatible" content="IE=9" />
        <meta charset="utf-8"/>
        <style>
            body { padding: 20px; }
            div { width: 300px; border: 1px solid gray; }
        </style>
    </head>
    <body>
        <div>      
            <p>If&nbsp;there&nbsp;is&nbsp;a&nbsp;-&nbsp;and&nbsp;words&nbsp;are&nbsp;separated&nbsp;by&nbsp;the&nbsp;whitespace&nbsp;code&nbsp;&amp;nbsp;&nbsp;then&nbsp;IE&nbsp;will&nbsp;wrap&nbsp;on&nbsp;the&nbsp;dash.</p>
        </div>
    </body>
</html>

6
ব্যবহার nobrকরা সর্বাধিক ক্রস-ব্রাউজারের উপায় এবং ফন্ট এবং সিএসএসে স্বাধীনভাবে কাজ করে। nobrউপাদান এইচটিএমএল চশমা মধ্যে সংজ্ঞায়িত করা হয় না, কিন্তু এই শুধুমাত্র একটি আনুষ্ঠানিকতা হিসেবে গণ্য করা হবে। তবে আপনার যদি অবশ্যই এইচটিএমএল স্প্যাস দ্বারা লিখতে হয় তবে ডাবের উত্তর, সিএসএস ব্যবহার করে সেরা বিকল্প।
Jukka K. Korpela

5
আমি সিএসএস সমাধানটি কেন ব্যবহার করতে পারিনি তা জানতে আগ্রহী।
রায়ান অহারন

2
@ রায়ানআহরন - আমি একটি তৃতীয় পক্ষের সরঞ্জাম ব্যবহার করছি যা আমাকে এইচটিএমএল-তে বেশি নিয়ন্ত্রণ দেয় না। এটি ইনলাইন ট্যাগ ঘোষণাকে সমর্থন করে না।
মিস্টারশারম্যান

'<Nobr>' এর পরিবর্তে আপনি কি কেবল একটি ক্লাসের সাথে স্প্যান ব্যবহার করতে এবং CSS ব্যবহার করে এটি নিয়ন্ত্রণ করতে পারবেন না?
স্টিফেনসিসি 12:48

1
মনে রাখবেন যে nobrট্যাগটি মানহীন এবং যে কোনও সময় ভেঙে যেতে পারে। এমডিএন ডকুমেন্টেশন এই ট্যাগটি ব্যবহার করার পরামর্শ দিচ্ছে না: developer.mozilla.org/en-US/docs/Web/HTML/Element/nobr
ফিলিপ

16

আপনি " U+2060ওয়ার্ড জয়েনার " byোকিয়ে এটি "সংযুক্তকারী উপায়" করতেও পারেন ।

যদি Accept-Charsetঅনুমতি দেয় তবে ইউনিকোড অক্ষর নিজেই সরাসরি HTML আউটপুটে into োকানো যেতে পারে ।

অন্যথায় এটি সত্তা এনকোডিং ব্যবহার করে করা যেতে পারে। যেমন পাঠ্যে যোগ দিতে red-brown, ব্যবহার করুন:

red-&#x2060;brown

বা (দশমিক সমতুল্য):

red-&#8288;brown

। আর একটি ব্যবহারযোগ্য চরিত্র হ'ল " U+FEFFজিরো প্রস্থ নন-ব্রেক স্পেস " [⁠ ⁠1] :

red-&#xfeff;brown

এবং (দশমিক সমতুল্য):

red-&#65279;brown

[1] : নোট করুন যে এই পদ্ধতিটি এখনও ক্রোমের মতো বড় ব্রাউজারগুলিতে কাজ করে, ইউনিকোড ৩.২ থেকে এটি অবহেলা করা হয়েছে


" U+2011নন-ব্রেকিং হাইফেন " এর সাথে "যোগকারের উপায়" এর তুলনা :

  • জয়েনার শব্দটি কেবল হাইফেন নয়, অন্যান্য সমস্ত অক্ষরের জন্য ব্যবহার করা যেতে পারে।

  • শব্দ যোজক ব্যবহার করার সময়, সবচেয়ে রেন্ডারারগুলির টেক্সট রাস্টারাইজ হবে অভিন্নরুপে । ক্রোম, ফায়ারফক্স, আইই এবং অপেরাতে, সাধারণ হাইফেনগুলির রেন্ডারিং, যেমন:

    abcdefghijklmnopqrstu-vwxyz

    সাধারণ হাইফেনগুলির উপস্থাপনের অনুরূপ (U + 2060 ওয়ার্ড সংযোজক সহ), যেমন:

    একটি ⁠b-⁠c-⁠d-⁠e-⁠f-⁠g-⁠h-⁠i-⁠j-⁠k-⁠l-⁠m-⁠n-⁠o-⁠p-⁠q- ⁠r-⁠s-⁠t-⁠u-⁠v-⁠w-⁠x-⁠y-⁠z

    উপরোক্ত দুটি রেন্ডারগুলি " নন-ব্রেকিং হাইফেন " রেন্ডারিং থেকে পৃথক , যেমন:

    একটি-B-সি-ডি-ই-এফ জি এইচ-আই-ঞ-K-L-M-এন-O-P-Q-আর-এস-টি-U-ভি-W-এক্স-y- z- র

    । (পার্থক্য কতটুকু যখন এর "একটি ফন্ট ঘোষণা ব্যবহার ব্রাউজার-নির্ভর এবং ফন্ট-নির্ভরশীল। যেমন arial", Firefox এবং IE11 তুলনামূলকভাবে বিশাল বৈচিত্র দেন যখন ক্রোম এবং অপেরা ছোট বৈচিত্র করে।)

"Joiner পথ" সঙ্গে তুলনা <span class=c1></span>(সিএসএস .c1 {white-space:nowrap;}) এবং <nobr></nobr>:

  • সংযুক্তি শব্দটি এমন পরিস্থিতিতে ব্যবহার করা যেতে পারে যেখানে এইচটিএমএল ট্যাগের ব্যবহার নিষিদ্ধ, যেমন ওয়েবসাইট এবং ফোরামের ফর্ম।

  • উপর উপস্থাপনা এবং বিষয়বস্তুর বর্ণালী সংখ্যাগরিষ্ঠ শব্দ যখন ট্যাগ তুলনায় Joiner, বিষয়বস্তু কাছাকাছি হতে বিবেচনা করবে।



    Using উইন্ডোজ 8.1 কোর 64-বিট ব্যবহার করে যেমন পরীক্ষিত হয়েছে :: IE 11.0.9600.18205
    • ফায়ারফক্স 43.0.4
    • ক্রোম 48.0.2564.109 (অফিসিয়াল বিল্ড) মি (32-বিট)
    • অপেরা 35.0.2066.92


দেখে মনে হচ্ছে "ইউ + ফিফএফ জিরো প্রস্থ নো-ব্রেক স্পেস" আইই ১১-তে সঠিকভাবে কাজ করে না।
ইভান গুসেভ

দেখে মনে হচ্ছে "ইউ + 2060" কাজ করে না যদি "-" কিছু ইউনিকোড চর নিয়ে আসে: এর মতোbingo-&#8288;bongo
ইভান গুসেভ

অবিচ্ছিন্ন নেতিবাচক প্রেস থাকা সত্ত্বেও&#xfeff;
জেমস উইলসন

6

পার্টিতে দেরীতে, তবে আমি মনে করি এটি আসলে সবচেয়ে মার্জিত। ওয়ার্ড জোয়ার ইউনিকোড অক্ষর ব্যবহার করুন & # 8288 ; আপনার হাইফেন, বা এম ড্যাশ, বা কোনও চরিত্রের উভয় পাশে।

সুতরাং, মত:

&#8288;—&#8288;

এটি তার প্রতিবেশীদের উভয় প্রান্তে চিহ্ন যোগ করবে (কোনও স্থান যোগ না করে) এবং লাইন ভাঙ্গা রোধ করবে।


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