কীভাবে কেবল একটি থেকে আন্ডারলাইন সরিয়ে ফেলা যায়?


97

আমার কাছে একটি :beforeতীর প্রয়োগ করার জন্য স্টাইলযুক্ত লিঙ্কগুলির একটি সেট রয়েছে ।

এটি সমস্ত ব্রাউজারে দেখতে দুর্দান্ত, তবে আমি যখন লিঙ্কটিতে আন্ডারলাইনটি প্রয়োগ করি তখন আমি :beforeঅংশটি (তীর) তে আন্ডারলাইন রাখতে চাই না ।

উদাহরণস্বরূপ jsfiddle দেখুন: http://jsfiddle.net/r42e5/1/

এটি কি মুছে ফেলা সম্ভব? আমি যে পরীক্ষার শৈলীর সাথে বসেছিলাম #test p a:hover:beforeতা প্রয়োগ হয় (ফায়ারব্যাগ অনুসারে), তবে আন্ডারলাইনটি এখনও রয়েছে।

এড়ানো কোন উপায়?

#test {
  color: #B2B2B2;
}

#test p a {
  color: #B2B2B2;
  text-decoration: none;
}

#test p a:hover {
  text-decoration: underline;
}

#test p a:before {
  color: #B2B2B2;
  content: "► ";
  text-decoration: none;
}

#test p a:hover:before {
  text-decoration: none;
}
<div id="test">
  <p><a href="#">A link</a></p>
  <p><a href="#">Another link</a></p>
</div>


ঠিক আছে, আপনি অবশ্যই একটি তালিকা চান ... ডিআইভি / পি সংমিশ্রণের পরিবর্তে একটি উল উপাদান ব্যবহার করুন। তালিকা সহ আপনি বুলেটগুলি (বা ডিস্ক, ...) বিনামূল্যে পান ...
Vidime বিদাস

আপনার ক্ষেত্রে অনুচ্ছেদের পরিবর্তে কাস্টম বুলেটগুলির সাথে তালিকাটি ব্যবহার করবেন না কেন? অন্যথায় প্যারেন্ট পি এর আগে লিখিত বিষয়বস্তু প্রয়োগ করুন, নিজের লিঙ্ক না।
ইউসু

উত্তর:


177

এটি কি মুছে ফেলা সম্ভব?

হ্যাঁ, আপনি যদি ইনলাইন উপাদানের প্রদর্শন শৈলীটি display:inline(ডিফল্ট) থেকে পরিবর্তন করেন display:inline-block:

#test p a:before {
    color: #B2B2B2;
    content: "► ";
    display:inline-block;
}

এটি কারণ সিএসএস স্পেস বলে :

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

(জোর আমার।)

ডেমো: http://jsfiddle.net/r42e5/10/

ওরিওলকে ওয়ার্কআরউন্ড প্রদানের জন্য ধন্যবাদ যা আমাকে চশমাগুলি পরীক্ষা করতে এবং কর্মক্ষেত্রটি বৈধ কিনা তা দেখতে অনুরোধ করে।


4
আপনি text-decoration:underlineকোনও অভিভাবক উপাদানটির সাথে প্রয়োগিত প্রয়োগকে ওভাররাইড করতে পারেন display:inline-block। একটি উদাহরণ দেখুন: jsfiddle.net/aZdhN/1 । তারপরে, জিজ্ঞাসকের সমস্যার সমাধান করা যেতে পারে এভাবে: stackoverflow.com/a/17347068/1529630
ওরিওল

4
আমি যতদূর দেখতে পাচ্ছি, এটি ইন্টারনেট এক্সপ্লোরারে কাজ করে না (পরীক্ষিত 8-10)। আইই এর সাথে কীভাবে ডিল করবেন কোনও ধারণা?
লিনাস ক্যাল্ডওয়েল

: আমি যে একটি সমাধান IE8-11 খুব কাজ করছে পেয়েছি stackoverflow.com/a/21902566/1607968
LeJared

53

IE8-11 এ একটি বাগ আছে , তাই display:inline-block;একা ব্যবহার করা সেখানে কাজ করবে না।

আমি এই বাগটির জন্য একটি সমাধান খুঁজে পেয়েছি text-decoration:underline;: সুস্পষ্টভাবে : পূর্বে-সামগ্রী এবং তারপর এই নিয়মটি দিয়ে আবার ওভাররাইট করে সেট করেtext-decoration:none;

a {text-decoration:none;}
a:hover {text-decoration:underline;}
a:before {content:'>\a0'; text-decoration:underline; display:inline-block;}
a:before,
a:hover:before {text-decoration:none;}

এখানে কাজের উদাহরণ: http://jsfiddle.net/95C2M/

আপডেট: যেহেতু jsfiddle এখন IE8 এর সাথে কাজ করে না, কেবল এই স্থানীয় ডেমো-কোডটি একটি স্থানীয় এইচটিএমএল ফাইলটিতে পেস্ট করুন এবং আইই 8 তে এটি খুলুন:

<!DOCTYPE html>
<html>
<head>
    <title>demo</title>
    <style type="text/css">
        a {text-decoration:none;}
        a:hover {text-decoration:underline;}
        a:before {content:'>\a0'; text-decoration:underline; display:inline-block;}
        a:before,
        a:hover:before {text-decoration:none;}
    </style>
</head>
<body>
    <a href="#">Testlink</a> With no Underline on hover under before-content
</body>
</html>

যদি হাইপারলিঙ্কযুক্ত চিত্রটির আইই 8 রरेখাটি কেবল থাকে তবে কেবল তার <img style="text-decoration:underline">ভিতরেই এটি বন্ধ করা যেতে পারে (এবং এটিই মূল কী)<a style="padding:0; border:none;">
বব স্টেইন

দুর্ভাগ্যক্রমে যে jsfiddle IE8 এ যাচাই করা যায় না কারণ jsfiddle IE8 তে কাজ করে না।
ব্যবহারকারী 2867288

দুর্ভাগ্যক্রমে আমি এমন কোনও অনলাইন কোড ভাগ করে নেওয়ার সরঞ্জাম খুঁজে পাইনি যা এখনও IE8 এর সাথে কাজ করে। আমি উপরের উত্তরে স্নিপড একটি কোড যুক্ত করেছি যা আপনি কেবল একটি এইচটিএমএল ফাইলে পেস্ট করতে পারেন এবং স্থানীয়ভাবে আই 8 এ এটি খুলতে পারেন।
লেজারেড

আইই 9 তে পরীক্ষিত এবং অনুমোদিত, দুটি পৃথক রাজ্য ছাড়া ইভেন্ট।
সেরাফিন

এতে একটি আইকনের সাথে একটি লিঙ্ক ছিল: এর আগে বিশ্রামের স্থিতিতে আন্ডারলাইন করা উচিত নয়, তারপরে হোভারে আন্ডারলাইন করা হবে তবে আইকনটি নয়। এই অধিকারটি পেতে আইআইকে বোঝাতে এখানে আমাকে যা করতে হয়েছিল তা হ'ল: একটি {পাঠ্য-সজ্জা: কিছুই নয়: পূর্বে {পাঠ্য-সজ্জা: আন্ডারলাইন} এ: {পাঠ্য-সজ্জা: কিছুই নয়} (হ্যাঁ সত্যই, প্রথম আন্ডারলাইন, তারপরে কোনওটির সাথেই ওভাররাইট) ক: হভার {পাঠ্য-ঘোষণা: আন্ডারলাইন} এ: হোভার: আগে {পাঠ্য-সজ্জা: কিছুই নয়}
নকল হক

8

আপনি :beforeউপাদানটিতে নিম্নলিখিতটি যুক্ত করে এটি করতে পারেন :

display: inline-block;
white-space: pre-wrap;

সঙ্গে display: inline-blockনিম্নরেখা দেখা যাবে না। তবে সমস্যাটি হ'ল ত্রিভুজটির পরে স্থানটি ধসে পড়ে এবং এটি প্রদর্শিত হয় না। এটি ঠিক করতে, আপনি ব্যবহার করতে পারেন white-space: pre-wrapবা white-space: pre

ডেমো : http://jsfiddle.net/r42e5/9/


4
pre-wrapইঙ্গিতটির জন্য +1 । আমি content:'►\a0'(\ a0 = & nbsp;) ব্যবহার
করছিলাম

1

আপনার লিঙ্কগুলিকে স্প্যানগুলিতে গুটিয়ে রাখুন এবং স্প্যানটিতে পাঠ্য-সজ্জা যুক্ত করুন: এইভাবে হোভার করুন,

a:hover span {
   text-decoration:underline;
}

আমি মনে করি আপনি যা করতে চাইছেন তাতে আমি আপনার আপত্তিটি আপডেট করেছি। http://jsfiddle.net/r42e5/4/


ভাল ধারণা. আমি আগে এটি ছিল। সমস্যাটি হ'ল এই লিঙ্কটি একটি সেমি-সিস্টেমে উত্পাদিত হয়েছে এবং আমাদের গ্রাহকরা এটিকে স্বয়ং ধনী-পাঠ্য হিসাবে পূরণ করছেন।
অপ্টিমাসক্রিম

সিএমএস কোন ভাষা? এটি লিঙ্কটি স্পিট আউট পেতে এবং এটি ব্রাউজারে প্রেরণের আগে একটি স্প্যানে মোড়ানো করতে পারে?
উদার্স

সংস্থাটি মোডেক্স ব্যবহার করছে। আমি অনুমান করি যে আমি এটি শেষ উপায় হিসাবে করতে পেরেছিলাম, কিন্তু আমি সত্যিই তা বাতিল করতে চেয়েছিলাম। অনুমান করুন এটি সম্ভব নয়। যাইহোক, ধন্যবাদ.
ওপটিমাসক্রিম

-1

পরিবর্তে ব্যবহার করার চেষ্টা করুন:

#test p:before {
    color: #B2B2B2;
    content: "► ";
    text-decoration: none;
}

এটা কি করবে?


আমার ডিভিতে আমার অনুচ্ছেদ থাকতে পারে, যাতে এটি কার্যকর হয় না। ভাল ধারণা।
OptimusCrime

আকর্ষণীয় কে -1 রাখলে যদি গৃহীত উত্তর একই রকম প্রস্তাব দেয় তবে ভিন্ন আকারে ...
এলেন

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