উত্তর:
এখানে জেএসফিডেলের একটি ডেমো এবং একটি স্নিপেট রয়েছে:
.numberCircle {
border-radius: 50%;
width: 36px;
height: 36px;
padding: 8px;
background: #fff;
border: 2px solid #666;
color: #666;
text-align: center;
font: 32px Arial, sans-serif;
}
<div class="numberCircle">30</div>
আমার উত্তরটি একটি ভাল সূচনা পয়েন্ট, অন্য কয়েকটি উত্তর বিভিন্ন পরিস্থিতিতে নমনীয়তা সরবরাহ করে। আপনি যদি আই 8 সম্পর্কে যত্নশীল হন তবে আমার উত্তরটির পুরানো সংস্করণটি দেখুন ।
অন্যান্য উত্তরগুলির বেশিরভাগ ক্ষেত্রে এখানে সমস্যাটি হ'ল আপনাকে অবশ্যই বাহ্যিক ধারকটির আকারটি টুইঙ্ক করতে হবে যাতে এটি ফন্টের আকার এবং অক্ষরের সংখ্যার উপর ভিত্তি করে নিখুঁত আকার হয়। আপনি যদি 1 ডিজিটের সংখ্যা এবং 4 অঙ্কের সংখ্যার মিশ্রণ করেন তবে এটি কার্যকর হবে না। যদি ফন্টের আকার এবং বৃত্তের আকারের মধ্যে অনুপাতটি নিখুঁত হয় না তবে আপনি ডিম্বাকৃতি বা একটি ছোট সংখ্যার সাথে একটি বৃহত বৃত্তের শীর্ষে উল্লম্বভাবে প্রান্তিক হবে। এটি কোনও পরিমাণ পাঠ্য এবং যে কোনও আকারের বৃত্তের জন্য সূক্ষ্মভাবে কাজ করা উচিত। শুধু width
এবং line-height
একই মান সেট করুন :
.numberCircle {
width: 120px;
line-height: 120px;
border-radius: 50%;
text-align: center;
font-size: 32px;
border: 2px solid #666;
}
<div class="numberCircle">1</div>
<div class="numberCircle">100</div>
<div class="numberCircle">10000</div>
<div class="numberCircle">1000000</div>
আপনার যদি সামগ্রীটি আরও দীর্ঘ বা সংক্ষিপ্ত করে তোলা দরকার, তবে আপনাকে আরও ভাল ফিট করার জন্য ধারকটির প্রস্থ সামঞ্জস্য করতে হবে।
text-align
এবং line-height
DIV আছে হবে। এখনও সম্ভবত সেরা উত্তর।
যদি এটি 20 এবং এর চেয়ে কম হয় তবে আপনি কেবল ইউনিকোড অক্ষর ② ② ... use ব্যবহার করতে পারেন ⑳
চেনাশোনা আকারের পরিবর্তিত সামগ্রীর উপর ভিত্তি করে এটি কাজ করা উচিত:
<span class="numberCircle"><span>30</span></span>
<span class="numberCircle"><span>1</span></span>
<span class="numberCircle"><span>5435</span></span>
<span class="numberCircle"><span>2</span></span>
<span class="numberCircle"><span>100</span></span>
.numberCircle {
display:inline-block;
line-height:0px;
border-radius:50%;
border:2px solid;
font-size:32px;
}
.numberCircle span {
display:inline-block;
padding-top:50%;
padding-bottom:50%;
margin-left:8px;
margin-right:8px;
}
এতে এমন সব সামগ্রী প্রস্থ উপর নির্ভর প্লাস margin-
'ব্যাসার্ধ নির্ধারণ গুলি, তারপর ব্যবহার মেলে উচ্চতা প্রসারিত padding-
এর। margin-
এর ফন্ট-আকারের উপর ভিত্তি করে স্থায়ী করা যেতে করার প্রয়োজন হবে।
অভ্যন্তরীণ উপাদান অপসারণ আপডেট:
<span class="numberCircle">30</span>
<span class="numberCircle">1</span>
<span class="numberCircle">5435</span>
<span class="numberCircle">2</span>
<span class="numberCircle">100</span>
<style type="text/css">
.numberCircle {
display:inline-block;
border-radius:50%;
border:2px solid;
font-size:32px;
}
.numberCircle:before,
.numberCircle:after {
content:'\200B';
display:inline-block;
line-height:0px;
padding-top:50%;
padding-bottom:50%;
}
.numberCircle:before {
padding-left:8px;
}
.numberCircle:after {
padding-right:8px;
}
</style>
উচ্চতা জোর করার জন্য সিউডো-উপাদান ব্যবহার করে। উল্লম্ব সারিবদ্ধকরণের জন্য শূন্য প্রস্থের স্থান প্রয়োজন। line-height:0px
বাইরের থেকে সিউডোতে সরানো হয়েছে যাতে আই 8 এর অবনমন করার সময় এটি কমপক্ষে দৃশ্যমান হয়।
সবচেয়ে সহজ উপায় হ'ল বুটস্ট্র্যাপ এবং ব্যাজ ক্লাস ব্যবহার করা
<span class="badge">1</span>
এই সংস্করণ হার্ড কোডেড, স্থায়ী মান উপর নির্ভর করে না কিন্তু আপেক্ষিক মাপ font-size
এর div
।
সিএসএস:
.numberCircle {
font: 32px Arial, sans-serif;
width: 2em;
height: 2em;
box-sizing: initial;
background: #fff;
border: 0.1em solid #666;
color: #666;
text-align: center;
border-radius: 50%;
line-height: 2em;
box-sizing: content-box;
}
এইচটিএমএল:
<div class="numberCircle">30</div>
<div class="numberCircle" style="font-size: 60px">1</div>
<div class="numberCircle" style="font-size: 12px">2</div>
আপনি এর জন্য সীমানা-ব্যাসার্ধ ব্যবহার করতে পারেন:
<html>
<head>
<style type="text/css">
.round
{
-moz-border-radius: 15px;
border-radius: 15px;
padding: 5px;
border: 1px solid #000;
}
</style>
</head>
<body>
<span class="round">30</span>
</body>
</html>
আপনি ফলাফলের সাথে সন্তুষ্ট না হওয়া অবধি সীমানা ব্যাসার্ধ এবং প্যাডিং মানগুলি খেলুন।
তবে এটি সমস্ত ব্রাউজারে কাজ করবে না। আমার ধারণা, IE এখনও বৃত্তাকার কোণগুলিকে সমর্থন করে না।
আমার সমাধান এখানে - এটি সম্পাদকীয় নিয়ন্ত্রণের জন্য সহজেই বিভিন্ন আকার এবং রঙ এবং সিএমএসের সাথে সম্পর্ক স্থাপনের অনুমতি দেয়। IE এর জন্য স্কোয়ারে অবনতি।
এইচটিএমএল :
<div class="circular-label label-outer label-size-large label-color-pink">
<div class="label-inner">
<span>Fashion & Beauty</span>
</div>
</div>
সিএসএস :
.circular-label {
overflow: hidden;
z-index: 100;
vertical-align: middle;
font-size: 11px;
-webkit-box-shadow:0 3px 3px rgba(0, 0, 0, 0.2);
-moz-box-shadow:0 3px 3px rgba(0, 0, 0, 0.2);
box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.2);
}
.label-inner {
width: 85%;
height: 85%;
-moz-border-radius: 50%;
-webkit-border-radius: 50%;
border-radius: 50%;
border: 2px dotted white;
vertical-align: middle;
margin: auto;
top: 5%;
position: relative;
overflow: hidden;
}
.label-inner > span {
display: table;
text-align: center;
vertical-align: middle;
font-weight: bold;
text-transform: uppercase;
width: 100%;
position: absolute;
margin: auto;
margin-top: 38%;
font-family:'ProximaNovaLtSemibold';
font-size: 13px;
line-height: 1.0em;
}
.circular-label.label-size-large {
width: 110px;
height: 110px;
-moz-border-radius: 55px;
-webkit-border-radius: 55px;
border-radius: 55px;
margin-top:-55px;
}
.circular-label.label-size-med {
width: 76px;
height: 76px;
-moz-border-radius: 38px;
-webkit-border-radius: 38px;
border-radius: 38px;
margin-top:-38px;
}
.circular-label.label-size-med .label-inner > span {
margin-top: 33%;
}
.circular-label.label-size-small {
width: 66px;
height: 66px;
-moz-border-radius: 33px;
-webkit-border-radius: 33px;
border-radius: 33px;
margin-top:-33px;
}
এটি কীভাবে করা যায় তা দেখা খুব কঠিন নয়। বড় প্রশ্নটি চেনাশোনাতে বৃত্ত স্কেলের মাত্রা তৈরি করা সম্ভব কিনা is
বর্তমানে আমি এটি সম্ভব বলে মনে করি না। যে কেউ?
পার্টিতে দেরীতে, তবে এখানে একটি বুটস্ট্র্যাপ-সমাধান রয়েছে যা আমার পক্ষে কাজ করেছে। আমি বুটস্ট্র্যাপ 4 ব্যবহার করছি:
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet"/>
<body>
<div class="row mt-4">
<div class="col-md-12">
<span class="bg-dark text-white rounded-circle px-3 py-1 mx-2 h3">1</span>
<span class="bg-dark text-white rounded-circle px-3 py-1 mx-2 h3">2</span>
<span class="bg-dark text-white rounded-circle px-3 py-1 mx-2 h3">3</span>
</div>
</div>
</body>
আপনি মূলত bg-dark text-white rounded-circle px-3 py-1 mx-2 h3
আপনার <span>
(বা যাই হোক না কেন) উপাদানগুলিতে ক্লাস যুক্ত করেন এবং আপনার কাজ শেষ।
মনে রাখবেন যে আপনার সামগ্রীতে একাধিক সংখ্যা থাকলে মার্জিন এবং প্যাডিং ক্লাসগুলি সামঞ্জস্য করতে হতে পারে।
আপনি স্ট্যান্ডার্ড ব্লকের মতো কাজ করেন, এটি একটি বর্গক্ষেত্র
.circle {
width: 10em; height: 10em;
-webkit-border-radius: 5em; -moz-border-radius: 5em;
}
এটি সিএসএস 3 এর বৈশিষ্ট্য এবং এটি খুব ভালভাবে সরবরাহ করা হয় না, আপনি নিশ্চিতভাবে ফায়ারফক্স এবং সাফারিতে গণনা করতে পারেন।
<div class="circle"><span>1234</span></div>
এইচটিএমএল উদাহরণ
<h3><span class="numberCircle">1</span> Regiones del Interior</h3>
কোড
.numberCircle {
border-radius:50%;
width:40px;
height:40px;
display:block;
float:left;
border:2px solid #000000;
color:#000000;
text-align:center;
margin-right:5px;
}
পার্টিতে দেরীতে হলেও সমাধানটি আমি এখানে নিয়েছি https://codepen.io/jnbruno/pen/vNpPpW
CSS:
.btn-circle.btn-xl {
width: 70px;
height: 70px;
padding: 10px 16px;
border-radius: 35px;
font-size: 24px;
line-height: 1.33;
}
.btn-circle {
width: 30px;
height: 30px;
padding: 6px 0px;
border-radius: 15px;
text-align: center;
font-size: 12px;
line-height: 1.42857;
}
এইচটিএমএল:
<div class="panel-body">
<h4>Normal Circle Buttons</h4>
<button type="button" class="btn btn-default btn-circle"><i class="fa fa-check"></i>
</button>
<button type="button" class="btn btn-primary btn-circle"><i class="fa fa-list"></i>
</button>
</div>
কোনও অতিরিক্ত কাজ প্রয়োজন। ধন্যবাদ জন নোয়েল ব্রুনো
আমি এখানে যা করেছি তার মতো কিছু কাজ করতে পারে (0 থেকে 99 সংখ্যার জন্য):
সিএসএস:
.circle {
border: 0.1em solid grey;
border-radius: 100%;
height: 2em;
width: 2em;
text-align: center;
}
.circle p {
margin-top: 0.10em;
font-size: 1.5em;
font-weight: bold;
font-family: sans-serif;
color: grey;
}
এইচটিএমএল:
<body>
<div class="circle"><p>30</p></div>
</body>
প্রথম উত্তরটি উন্নত করা মাত্র প্যাডিং থেকে মুক্তি পান এবং যুক্ত করুন line-height
এবং vertical-align
:
.numberCircle {
border-radius: 50%;
width: 36px;
height: 36px;
line-height: 36px;
vertical-align:middle;
background: #fff;
border: 2px solid #666;
color: #666;
text-align: center;
font: 32px Arial, sans-serif;
}
স্কয়ার পদ্ধতি ব্যবহার করে এটি করার আমার পদ্ধতিটি এখানে। উল্টোটি এটি বিভিন্ন মানগুলির সাথে কাজ করে তবে আপনার 2 স্প্যান দরকার।
.circle {
display: inline-block;
border: 1px solid black;
border-radius: 50%;
position: relative;
padding: 5px;
}
.circle::after {
content: '';
display: block;
padding-bottom: 100%;
height: 0;
opacity: 0;
}
.num {
position: absolute;
top: 50%;
transform: translateY(-50%);
}
.width_holder {
display: block;
height: 0;
overflow: hidden;
}
<div class="circle">
<span class="width_holder">1</span>
<span class="num">1</span>
</div>
<div class="circle">
<span class="width_holder">11</span>
<span class="num">11</span>
</div>
<div class="circle">
<span class="width_holder">11111</span>
<span class="num">11111</span>
</div>
<div class="circle">
<span class="width_holder">11111111</span>
<span class="num">11111111</span>
</div>
ত্রিশডটের উত্তরটি সঠিক তবে অল্প পয়েন্টটি অনুপস্থিত। আপনার অবস্থান যুক্ত করতে হবে: আপেক্ষিক , আপনি যদি বৃত্তের কেন্দ্রিক মান রাখতে চান এবং সংখ্যার বিভিন্ন পরিসরও অন্তর্ভুক্ত করতে চান। উদাহরণস্বরূপ 123;
এইচটিএমএল:
<div class="numberCircle">30</div>
সিএসএস:
.numberCircle {
border-radius: 50%;
behavior: url(PIE.htc); /* remove if you don't care about IE8 */
width: 36px;
height: 36px;
padding: 8px;
position: relative;
background: #fff;
border: 2px solid #666;
color: #666;
text-align: center;
font: 32px Arial, sans-serif;
}
তবে একটি সহজ সমাধান হ'ল বুটস্ট্র্যাপ ব্যবহার করা
<span class="badge" style ="float:right">123</span>