আমি কীভাবে সিএসএস দিয়ে স্বচ্ছ সীমানা করব?


101

আমি নীচে একটি liস্টাইলযুক্ত আছে :

li{
    display:inline-block;
    padding:5px;
    border:1px solid none;
}
li:hover{
    border:1px solid #FC0;
}

আমি যখন liসীমান্তের ওপারে ঘুরে দেখি তখন liপ্রায় শিফট না করেই উপস্থিত হয়। দৃশ্যমান নয় এমন 'সীমানা' থাকা কি সম্ভব?

উত্তর:


107

রঙ হিসাবে আপনি "স্বচ্ছ" ব্যবহার করতে পারেন। আইই এর কয়েকটি সংস্করণে, এটি কালো হিসাবে উঠে আসে, তবে আমি আইআই days দিন থেকে এটি পরীক্ষা করে দেখিনি।

http://www.researchkitchen.de/blog/archives/css-bordercolor-transparent.php


3
ওয়েল এটি আই 8, মজিলা, অপেরা এবং ক্রোমে কাজ করেছে, এটি আমার পক্ষে যথেষ্ট ভাল, আমি সাফারিতে এটি চেষ্টা করে দেখিনি তবে সাফারিটিকে আমি বেশি কিছু মনে করি না। অনেক ধন্যবাদ!
উইলিয়াম কালেজা

5
হ্যাঁ, এটি বিশেষত আই 6 এটি যে এটি কাজ করে না। আই 7 ঠিক আছে।
ববিনস

দুর্ভাগ্যক্রমে এটি আমার পক্ষে কাজ করেনি। সীমানা ছাড়াই উপাদানগুলি সম্পূর্ণরূপে তৈরি করার পরে আমি ছদ্ম ব্যবহার করে শেষ করেছি ... কি গোলমাল!
অ্যালেক্স

51

স্বচ্ছতার পরিবর্তে অস্বচ্ছ বর্ডারের সমাধান পেতে আপনারা নিশ্চয়ই এখানে অবতরণ করছেন। যে ক্ষেত্রে আপনি ব্যবহার করতে পারেন ইন rgba, যেখানে aঘোরা alpha

.your_class {
    height: 100px;
    width: 100px;
    margin: 100px;
    border: 10px solid rgba(255,255,255,.5);
}

ডেমো

এখানে, আপনি opacityএর borderথেকে পরিবর্তন করতে পারেন0-1


আপনি কেবল একটি সম্পূর্ণ স্বচ্ছ সীমান্ত চান, ব্যবহার করা ভাল জিনিস হল transparent, মতborder: 1px solid transparent;


এবং আপনি এই সরঞ্জামটি হেক্স থেকে আরগ্বা রঙে রূপান্তর করতে ব্যবহার করতে পারেন ... hexcolortool.com ... যেখানে আপনি ইউআরএলে optionচ্ছিকভাবে হেক্স রঙটি নির্দিষ্ট করতে পারেন, ঠিক তেমন
क्

32

আপনি সীমানা সরিয়ে প্যাডিং বাড়িয়ে দিতে পারেন:

li {
  display: inline-block;
  padding: 6px;
  border-width: 0px;
}

li:hover {
  border: 1px solid #FC0;
  padding: 5px;
}
<ul>
  <li>Hovering is great</li>
</ul>


আচ্ছা এটি একটি কবজির মতো কাজ করেছিল, আমি কেবল ভাবলাম কীভাবে এটি করার একটি ক্লিনার উপায় আছে কিনা? যদি কোনও অদৃশ্য সীমানা থাকা কি সম্ভব ছিল? পরামর্শের জন্য আবার ধন্যবাদ।
উইলিয়াম কালেজা

3
এটি আমার কাছে আরও সুসংগত সমাধান বলে মনে হচ্ছে
নিবল্বিপিগ

কোডটি বুঝতে পারে যে আপনার প্রয়োজনের বিপরীতে কাজ করে! সংশোধন করা হয়েছে। এছাড়াও, আমি স্বচ্ছ রঙ সঙ্গে যেতে হবে। আমি কেবল এটি সম্পর্কে জানতাম না: ডি
ম্যাট এলেন

আপনি চাইলে সীমানা হ্রাস এবং প্যাডিং বাড়ান কোনও লাভ নেই, উদাহরণস্বরূপ (আমার কেস), একটি সম্পূর্ণ ক্লিকযোগ্য <a/>বাক্স। সীমানাটি উপাদানটির অন্তর্ভুক্ত (সুতরাং ক্লিকযোগ্য), প্যাডিং পিতামাতার অন্তর্ভুক্ত।
নিকো

13

আরে এটিই আমার সেরা অভিজ্ঞতা হ'ল এটি সিএসএস 3

আপনার ডিভিতে বা যে কোনও জায়গায় আপনি সীমান্তের গোপনীয়তা রাখতে চান নীচে সম্পত্তি ব্যবহার করুন

যেমন

div_class { 
 border: 10px solid #999;
 background-clip: padding-box; /* Firefox 4+, Opera, for IE9+, Chrome */
}

এটি কাজ করবে ..


4

হ্যাঁ, আপনি ব্যবহার করতে পারেন border: 1px solid transparent

আর একটি সমাধান outlineহওভারে ব্যবহার করা (এবং সীমানাকে 0 তে সেট করা) যা নথির প্রবাহকে প্রভাবিত করে না:

li{
    display:inline-block;
    padding:5px;
    border:0;
}
li:hover{
    outline:1px solid #FC0;
}

বিশেষ দ্রষ্টব্য। আপনি কেবলমাত্র বাহ্যরেখাকে শার্টহ্যান্ড সম্পত্তি হিসাবে সেট করতে পারেন, পৃথক পক্ষের জন্য নয়। এটি কেবল ডিবাগিংয়ের জন্য ব্যবহৃত হতে বোঝানো হয়েছে তবে এটি দুর্দান্তভাবে কাজ করে।


অনেক ধন্যবাদ! আমার কাছে আরও বেশি বিকল্প রয়েছে
উইলিয়াম কল্লেজা

3

যেহেতু আপনি একটি মন্তব্যে বলেছেন যে আপনার আরও বেশি বিকল্প রয়েছে, তত ভাল, এখানে আরও একটি।

সিএসএস 3 তে দুটি আলাদা তথাকথিত "বক্স মডেল" রয়েছে। একটি ব্লক উপাদানগুলির প্রস্থে সীমানা এবং প্যাডিং যুক্ত করে, অন্যটি তা করে না। আপনি নির্দিষ্ট করে পরবর্তীটি ব্যবহার করতে পারেন

-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box;

তারপরে, আধুনিক ব্রাউজারগুলিতে, উপাদানটির সর্বদা একই প্রস্থ থাকবে। উদাহরণস্বরূপ, আপনি যদি হোভারের উপরে এটির সীমানা প্রয়োগ করেন তবে সীমানার প্রস্থ উপাদানটির সামগ্রিক প্রস্থে যুক্ত হবে না; সীমান্তটি উপাদানটির ভিতরে "ভিতরে" যুক্ত করা হবে, সুতরাং কথা বলার জন্য। তবে, আমি যদি সঠিকভাবে মনে রাখি তবে এটি widthকাজ করার জন্য আপনাকে অবশ্যই স্পষ্টভাবে উল্লেখ করতে হবে । এই বিশেষ ক্ষেত্রে আপনার পক্ষে সম্ভবত কোনও বিকল্প নয় তবে ভবিষ্যতের পরিস্থিতিতে আপনি এটি মাথায় রাখতে পারেন।


স্বচ্ছ সীমানার জন্য এটি এক ব্যবহারের ক্ষেত্রে হতে পারে - হোভারের উপর কোনও সীমানা প্রয়োগ করার পরিবর্তে স্বচ্ছ থেকে এটি দেখতে দেখতে কোনও রঙের রঙ পরিবর্তন করুন।
ডেভওয়ালি

2

এই ব্লগ এন্ট্রিborder-color: transparent আই 6 নকল করার একটি উপায় আছে । নীচের উদাহরণটিতে ব্লগ এন্ট্রি মন্তব্যগুলিতে উপস্থিত হওয়া "হ'লআউট" সংশোধন রয়েছে:

/* transparent border */
.testDiv {
    width: 200px;
    height: 200px;
    border: solid 10px transparent;
}
/* IE6 fix */
*html .testDiv {
    zoom: 1;
    border-color: #FEFEFE;
    filter: chroma(color=#FEFEFE);
}

border-colorআইআই 6 ফিক্সে ব্যবহৃত .testDivউপাদানটি কোথাও ব্যবহার করা হয়নি তা নিশ্চিত করুন used আমি থেকে উদাহরণস্বরূপ পরিবর্তিত pinkকরার #FEFEFEকারণ যে এমনকি কম বলে মনে হয় ব্যবহৃত হওয়ার সম্ভাবনা।


0

এর সহজ সমাধানটি rgbaরঙ হিসাবে ব্যবহার করা: border-color: rgba(0,0,0,0);এটি সম্পূর্ণ স্বচ্ছ সীমানার রঙ color


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