লাইন বিরতি ব্যবহার করার সময় এইচটিএমএল উপাদানগুলির মধ্যে সাদা স্থান সরিয়ে ফেলা হচ্ছে


110

আমার প্রায় 10 imgs এর সারি সহ একটি পৃষ্ঠা রয়েছে । এইচটিএমএলটির পঠনযোগ্যতার জন্য, আমি প্রতিটি imgট্যাগের মধ্যে একটি লাইন ব্রেক ফেলতে চাই , তবে এটি করার মাধ্যমে চিত্রগুলির মধ্যে সাদা স্থান স্থান করে দেয় যা আমি চাই না। ট্যাগগুলির মাঝে ভাঙার পরিবর্তে আমি আর কিছু করতে পারি?

সম্পাদনা: আমার এখন পর্যন্ত যা আছে তার একটি স্ক্রিনশট এখানে। আমি পিএইচপি ব্যবহার করে বইয়ের মেরুদণ্ডের চিত্রগুলি এলোমেলো সংমিশ্রণে প্রদর্শন করতে চাই। এ কারণেই আমার আলাদা imgট্যাগ দরকার ।

স্ক্রিনশট


আপনি যদি স্মার্ট ব্যবহার করেন তবে আপনি এটি ব্যবহার করতে পারেন {strip}অন্যান্য টেম্পলেট ইঞ্জিনগুলিতে একই রকম ট্যাগ থাকা উচিত।
ব্যবহারকারীর

উত্তর:


68

আপনি সিএসএস ব্যবহার করতে পারেন। প্রদর্শন স্থাপন: ব্লক, বা ভাসা: চিত্রগুলির বাম আপনি আপনার নিজের ব্যবধানটি নির্ধারণ করতে পারবেন এবং এইচটিএমএলটিকে আপনি চান তবে ফর্ম্যাটটি এমনভাবে প্রভাব ফেলবে যা সঠিক বা উপযুক্ত নাও হতে পারে।

অন্যথায় আপনি ইনলাইন সামগ্রী নিয়ে কাজ করছেন তাই এইচটিএমএল ফর্ম্যাট করা গুরুত্বপূর্ণ - কারণ চিত্রগুলি কার্যকরভাবে শব্দের মতো কাজ করবে।


এটি আমার প্রিয় পদ্ধতির। যদিও, এটি মাঝে মাঝে ভাবতে পারে যে আমি পরে যদি শিশু উপাদানগুলির জন্য একটি ফন্টের আকার নির্ধারণ করতে ভুলে যাই তবে কেন পাঠ্য প্রদর্শিত হচ্ছে না।
অ্যাস্ট্রোটিম

159

দুঃখিত এটি যদি পুরানো হয় তবে আমি একটি সমাধান খুঁজে পেয়েছি।

font-size0 এ সেট করার চেষ্টা করুন। সুতরাং চিত্রগুলির মধ্যে সাদা স্পেসগুলি 0 প্রস্থে হবে এবং চিত্রগুলি প্রভাবিত হবে না।

এটি সমস্ত ব্রাউজারে কাজ করে কিনা জানেন না তবে আমি এটি ক্রোমিয়াম এবং এর সাথে কিছু <li>উপাদান দিয়ে চেষ্টা করেছি display: inline-block;


9
আমি ম্যাক ওএসএক্স-তে ফায়ারফক্স এবং সাফারিতে ক্রমের পাশাপাশি এই কাজগুলি নিশ্চিত করতে পারি। আমি বিশ্বাস করতে পারি না এটি শীর্ষের উত্তর নয়। কী দুর্দান্ত ধারণা, কেবলমাত্র আমি মনে করি সত্যই প্রশ্নের উত্তর দেয় / জিজ্ঞাসাবাদীকে তারা যা খুঁজছে তা দেয়।
ডগ

16
বাদে এটি emইউনিট ব্যবহার করছে এমন লেআউটগুলি ভেঙে দেবে ।
ডিভাস

6
font-size0 এ সেট করার অর্থ আপনি emসেই বিন্দুর পরে স্কেলযোগ্য ডিজাইনের জন্য ইউনিটটি ব্যবহার করতে পারবেন না । কিছু লোকের জন্য, এই উত্তরটি অকেজো।
এলবি--

3
আমি অন্যান্য পৃষ্ঠায় "ফন্টের আকারটি শূন্যতে সেট করুন" বিভাগের অধীনে ক্রিস কোয়ারের বিশ্লেষণটিও তার পৃষ্ঠাতে পরীক্ষা করে দেখব, যখন এটি কাজ না করতে পারে তার অন্যান্য উদাহরণগুলির জন্য কিছু বিবরণ: সিএসএস-ট্রিক্স
ক্রিস

এবং এখন আমাদের ফ্লেক্সবক্স রয়েছে, এগুলিগুলির আর কোনও প্রয়োজন নেই :) শেষ অবধি ভাল লেআউটিং: css-tricks.com/snippets/css/a-guide-to-flexbox
opatut

70

আপনি মন্তব্য ব্যবহার করতে পারে।

 <img src="..." alt="..."><!--
 --><img src="..." alt="..."><!--
 --><img src="..." alt="..."><!--
 --><img src="..." alt="...">

যদিও আমি পাশাপাশি সিনেমিক্সের একাধিক চিত্রের চিত্র নিয়েছি তা নিয়ে ভাবছিলাম।


1
ভাল ধারণা. ছবিগুলি সাজসজ্জার জন্য - এটি শব্দার্থবিজ্ঞানের কোনও বিষয় নয়?
স্কিলড্রিক

13
আলংকারিক ছবিগুলি এইচটিএমএল নয়, সিএসএসের অন্তর্গত!
কনরাড রুডল্ফ

11
এটি নির্ভর করে যে চিত্রগুলি কীভাবে আলংকারিক। একটি সুন্দর বর্ডার? এটি সিএসএসে থাকা উচিত। উড়ানের বিষয়ে কোনও সাইটে বিমানের ছোট ছোট ছবিগুলির একটি সিরিজ? কোনও পাঠ্য সামঞ্জস্যহীন প্রয়োজনে সম্ভবত সামগ্রী।
কুইন্টিন

1
@ মিহাই অ্যালেক্সান্দ্রুবার্সান - font-size:0অনেক ক্ষেত্রেই ভয়াবহ কারণ আপনি উত্তরাধিকার ছেড়ে দিয়েছেন। হ্যাঁ, আপনি remইউনিটগুলি ব্যবহার করতে পারেন তবে তবুও, আপনার মিডিয়া প্রশ্নগুলি সেই উপাদানটির জন্য কাজ বন্ধ করবে এবং আপনাকে সেগুলি সমস্ত সংশোধন করতে হবে
vsync

1
আমি এই ছোট্ট কৌশলটি সন্ধান করেছি তখনই আপনার উত্তরটি দেখেছি। সামান্য কিছুটা ক্রাফ্ট তবে এইচটিএমএলকে একটি দীর্ঘ লাইনে গুছিয়ে রাখার জন্য অনেক দীর্ঘ পথ চলে।
নিক বেডফোর্ড

26

সিএসএস দিয়ে আনুমানিক স্টাফ না করে আপনার কাছে দুটি বিকল্প রয়েছে। প্রথম বিকল্পটি হ'ল কেবল ট্যাগগুলি থেকে শ্বেতস্পেসের শিশুদের সরাতে জাভাস্ক্রিপ্ট ব্যবহার করা use যদিও একটি সুন্দর বিকল্প হ'ল ট্যাগগুলির ভিতরে কোনও অর্থ না রেখেই হোয়াইটস্পেসের অস্তিত্ব থাকতে পারে তা ব্যবহার করা। তাই ভালো:

<div id="[divContainer_Id]"
    ><img src="[image1_url]" alt="img1"
    /><img src="[image2_url]" alt="img2"
    /><img src="[image3_url]" alt="img3"
    /><img src="[image4_url]" alt="img4"
    /><img src="[image5_url]" alt="img5"
    /><img src="[image6_url]" alt="img6"
/></div>

2
আমি আসলে এই শৈলী পছন্দ। হ্যাঁ এটি কুৎসিত তবে এর জন্য কোনও সিএসএস হ্যাকের প্রয়োজন নেই যাতে সমস্ত ধরণের পার্শ্ব প্রতিক্রিয়া থাকতে পারে।
স্টিজন ডি উইট

24

ফ্লেক্সবক্স সহজেই এই পুরানো সমস্যাটি সমাধান করতে পারে:

.image-wrapper {
  display: flex;
}

ফ্লেক্সবক্স সম্পর্কে আরও তথ্য: https://css-tricks.com/snippets/css/a-guide-to-flexbox/


4
আজকাল ফ্লেক্সবক্স সবচেয়ে পরিষ্কার এবং সহজ সমাধান। আমি মনে করি এটি এখানে শীর্ষ উত্তর হওয়া উচিত। { flex-direction: row; flex-wrap: nowrap; }আরও পাঠযোগ্যতার জন্য যুক্ত করা যেতে পারে।
রবার্ট কুজনিয়ার

2
এটি সেরা আধুনিক উত্তর
N

@ রবার্টকুজনিয়ায়ার উল্লেখ করার সাথে আমি একমত নই flex-direction: rowএবং flex-wrap: nowrap, তারা যাইহোক ডিফল্ট। এটি সহজ রাখুন সাধারণত সেরা! এছাড়াও, বেশিরভাগ সময় ব্যবহারকারী বাস্তবে চাইবে flex-wrap: wrap
মার্চ ২৩7777

13

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

ফায়ারফক্সে এটি মোটামুটি সহজ, কেবলমাত্র word-spacing: -1emমূল উপাদানকে সেট করা। কোনও কারণে, ক্রোম এটিকে উপেক্ষা করে (এবং যতদূর আমি পরীক্ষা করে দেখলাম, এটি মূল্য নির্বিশেষে ব্যবধান শব্দের উপেক্ষা করে)। সুতরাং এটির পাশাপাশি আমি letter-spacing: -.31emপিতামাতাকে এবং যুক্ত করবletter-spacing: normal বাচ্চাদের সাথে যুক্ত করব। কোনও ইমের এই ভগ্নাংশটি কেবলমাত্র স্থানের আকার যদি আপনার ইমের আকার মানক করা হয় । ফায়ারফক্স, পরিবর্তে, বর্ণ-ব্যবধানের জন্য নেতিবাচক মানগুলিকে উপেক্ষা করে, তাই এটি স্পেসিং শব্দটিতে যুক্ত করবে না won't

আমি এটি ফায়ারফক্স ১৩ (উইন্ডো / উবুন্টু, অ্যান্ড্রয়েডে 14), গুগল ক্রোম 20 (উইন / উবুন্টু), আইসিএস 4.0.4 এবং আইই 9 এ অ্যান্ড্রয়েড ব্রাউজারে পরীক্ষা করেছি এবং আমি এই কথাটি বলতে প্ররোচিত হই যে এটি সাফারিতেও কাজ করতে পারে, কিন্তু আমি আসলে জানি না ...

এখানে একটি ডেমো http://jsbin.com/acucam


1
এটি আমার পেশাগত মতে সেরা সমাধান। আমি এটি ডেস্কটপে সাফারি 5 এবং 6 তে পাশাপাশি দ্বিতীয় জেনার আইপ্যাডে মোবাইল সাফারি টেস্ট করেছি। এটি কাজ করে, তবে কোনও সন্তানের মধ্যে চিঠি-ফাঁক পুনরায় সেট করার সময় আপনাকে শব্দ-ব্যবধানও অন্তর্ভুক্ত করতে হবে: সাধারণ; সাফারি এটি সম্মান হিসাবে। দুর্দান্ত কাজ, ফ্ল্যাটলাইন!
hndcrftd

2
word-spacing: -1emশৈলী Chrome- এর বর্তমান সংস্করণ শব্দের ওভারল্যাপ করা বলে মনে হয়।
স্যাম

অবিশ্বাস্যরূপে দীর্ঘ দেরীর জন্য @ স্যাম দুঃখিত: পিআই শব্দের ব্যবধানটি 0.05 এ পরিবর্তিত করেছে, মনে হয় ফায়ারফক্সের নতুন সংস্করণ অক্ষর ব্যবধানের সাথে যথেষ্ট পরিমাণে সেই বৈশিষ্ট্যটির বিষয়ে কম যত্ন নিতে পারে না। আমি এখনই উবুন্টুতে আছি, তাই আমি এটি উইন্ডোতে পরীক্ষা করিনি। এখানে jsbin.com/acucam/14
ফ্ল্যাটলাইন

1
আপনি কি বিভিন্ন ফন্ট দিয়ে এটি চেষ্টা করেছেন? এটি অবিশ্বাস্যরকম অপ্রচলিত বলে মনে হচ্ছে এবং খুব সম্ভবত এটির বিরতি ঘটে।
দোয়াদওয়াদ

12

আমি খুব দেরী করেছি (আমি কেবল একটি প্রশ্ন জিজ্ঞাসা করেছি এবং সম্পর্কিত বিভাগে পাতলা দেখতে পেয়েছি) তবে আমি মনে করি প্রদর্শন: টেবিল-ঘর; একটি ভাল সমাধান

<style>
img {display:table-cell;}
</style>

<img src="img1.gif">
<img src="img2.gif">
<img src="img3.gif">

কেবল সমস্যাটি এটি আই 7 এবং এর আগের সংস্করণগুলিতে কাজ করবে না তবে হ্যাক দিয়ে স্থিরযোগ্য fix


এটি ভাল, তবে কেবল ত্রুটিটি হ'ল উপাদানগুলি যদি তাদের পিতামাতার পাঠ্য-প্রান্তিককরণ থাকে তবে কেন্দ্রটি ভেসে যাওয়ার দক্ষতাটি ছেড়ে দেয়: কেন্দ্র;
ম্লাদেন জঞ্জেটোভিচ

কার্যকর হয়, তবে ক্ষেত্রে আপনি img এর ডানদিকে প্রান্তিকভাবে পাঠ্য-প্রান্তিককরণের সাথে ডানদিকে প্রান্তিককরণ করতে চাইতে পারেন: ডান (পিতা-মাতার উপর এবং ভাসা ছাড়াই) - সমাধানটি দুঃখজনকভাবে ফিট করে না।
Herr_Hansen

2
কার্যকর কাজ, তবে কিছু স্ক্রিনরেডার অর্থহীনভাবে ব্যাখ্যা display: table-*করে এবং পড়েন যেন ব্যবহারকারী কোনও টেবিল নেভিগেট করছে।
তারকা

5

নিম্নলিখিত কোডের মতো এই সমস্যাটি সমাধানের জন্য সিএসএস স্টাইলশিট ব্যবহার করুন।

[divContainer_Id] img
{
    display:block;
    float:left;
    border:0;
}

alt পাঠ্য

ফায়ারফক্স ৩.৫ ফাইনালে পরীক্ষা!

পুনশ্চ. আপনার এইচটিএমএল এটি পছন্দ করা উচিত।

<div id="[divContainer_Id]">
    <img src="[image1_url]" alt="img1" />
    <img src="[image2_url]" alt="img2" />
    <img src="[image3_url]" alt="img3" />
    <img src="[image4_url]" alt="img4" />
    <img src="[image5_url]" alt="img5" />
    <img src="[image6_url]" alt="img6" />
</div>

তিনি বলেছেন "সারি", "কলাম" নয় এবং আপনার এইচটিএমএল উদাহরণটি অবৈধ।
কুইন্টিন

3
তিনি 'কলামে' বেশ কয়েকটি চিত্র সহ একটি একক সারি চান। এই উত্তরটি আসলে সমস্যাটি সমাধান করে, যদিও "প্রদর্শন: ব্লক" অপ্রয়োজনীয়।
ববি জ্যাক

3

ট্যাগগুলির মাঝে ভাঙার পরিবর্তে আমি আর কিছু করতে পারি?

আসলে তা না. যেহেতু <img>গুলি ইনলাইন উপাদান, এই উপাদানগুলির মধ্যে ফাঁকা স্থানগুলি এইচটিএমএল রেন্ডারকে পাঠ্যের সত্যিকারের স্থান হিসাবে বিবেচনা করবে - রিলান্ড্যান্ট স্পেস (এবং লাইন ব্রেক) কেটে যাবে তবে একক স্পেস হবে টেক্সট উপাদান চরিত্র তথ্য ঢোকানো হবে।

পজিশনিং <img>ট্যাগ একেবারে এই প্রতিরোধ করতে পারি কিন্তু আমি এই যেহেতু এই বিরুদ্ধে পরামর্শ চাই নিজে কিছু পিক্সেল পরিমাপ যা কাজ অনেক হতে পারে ইমেজ প্রতিটি পজিশনিং মানে হবে।


1

আরেকটি সমাধান হ'ল জায়গাগুলির অপ্রচলিত লাইন ব্রেক ব্যবহার করা। এটি প্রথম দম্পতির উত্তরের মতো এবং এটি উপাদানগুলিকে আস্তরণের বিকল্প উপায়। এটি একটি সুপার-এজ-অপ্টিমাইজেশান কৌশলও কারণ এটি আপনার মার্কআপের জায়গাগুলিকে ক্যারেজ রিটার্নের সাথে প্রতিস্থাপন করে।

<img
src="image1.jpg"><img
src="image2.jpg"><img
src="image3.jpg"><img
src="image4.jpg">

নোট করুন যে কোনও কোডে কোনও স্থান নেই। যে জায়গাগুলিতে স্পেসগুলি সাধারণত এইচটিএমএলে ব্যবহৃত হয় সেগুলি গাড়ীর রিটার্নের সাথে প্রতিস্থাপন করা হয়। মন্তব্যগুলি ব্যবহার করা এবং পল ডি ভ্রিজের প্রস্তাবিত হোয়াইটস্পেস ব্যবহারের চেয়ে এটি উভয়ই কম ভার্জোজ।

এই পদ্ধতির জন্য টেক.কমকে ক্রেডিট।



0

উপাদানগুলির মধ্যে শ্বেত স্থান কেবলমাত্র HTML সম্পাদকের দ্বারা ভিজ্যুয়াল বিন্যাসের উদ্দেশ্যে রাখা হয়। সাদা স্থান সরাতে আপনি jQuery ব্যবহার করতে পারেন:

$("div#MyImages").each(function () {

    var div = $(this);
    var children= div.children();
    children.detach();
    div.empty();
    div.append(children);

});

এটি শিশু উপাদানগুলিকে পৃথক করে, শিশুদের উপাদানগুলিকে আবার যুক্ত করার আগে যে কোনও সাদা জায়গা রেখে দেয় ars

এই প্রশ্নের অন্যান্য উত্তরের মতো নয়, এই পদ্ধতিটি ব্যবহার করে উত্তরাধিকারসূত্রে প্রাপ্ত CSS displayএবং font-sizeমানগুলি বজায় রাখা নিশ্চিত করে। ব্যবহার করার প্রয়োজন নেই floatএবং clearএরপরে প্রয়োজনীয় যে জটিলগুলি । অবশ্যই, আপনার jQuery ব্যবহার করা প্রয়োজন।


10
যদিও এই সমাধান কাজ করে। আমি মনে করি জাভাস্ক্রিপ্ট সহ সাদা স্থান সরাতে ওভারকিল।
লশে

1
দুঃখিত তবে উগগহ্হ্ ... সবার আগে এইচটিএমএলকে সঠিকভাবে কোড করা উচিত, সত্যতার পরে এটি জেএসের সাথে ম্যাঙ্গেল না করে। পরবর্তীকালে জেএসের [কাশি] অলৌকিক ঘটনাটি পরে এটি ঠিক করতে পারে এই ধারণার সাথে opালু অনুশীলনগুলিকে উত্সাহ দেয়।
আন্ডারস্কোর_

0

ব্যক্তিগতভাবে আমি গ্রহণযোগ্য উত্তরটি পছন্দ করে বলছি যে এটি করার কোনও সঠিক উপায় নেই, কোনও ফর্মের কৌশল ব্যবহার করে নয়।

আমার কাছে, এটি একটি বিরক্তিকর বিষয় যা আপনাকে মাঝে মাঝে ভাবতে ভাবতে এক ঘন্টা নষ্ট করতে পারে কেন উদাহরণস্বরূপ চেক বাক্সগুলির সারিটি সমস্ত সঠিকভাবে সংযুক্ত হয় না .. তাই আমাকে একটি দ্রুত গুগল নিতে হয়েছিল এবং নিজেই সিএসএস নিয়ম আছে কিনা তা পরীক্ষা করে দেখতে হয়েছিল myself যা আমি মনে রাখিনি ... তবে মনে হয় না :(

পরবর্তী সেরা উত্তরের জন্য, হরফ-আকার ব্যবহার করার জন্য ... আমার কাছে এটি একটি বাজে হ্যাক যা পরে আপনার টেক্সটটি কেন প্রদর্শিত হচ্ছে না তা ভেবে আপনাকে কামড় দেবে।

আমি পিএইচপি দিয়ে সাধারণত অনেকগুলি বিকাশ করি এবং যেখানে আমি চেক বাক্সগুলির গ্রিড তৈরি করছি সেখানে পিএইচপি উত্পন্ন সামগ্রী এই সমস্যাটিকে সরিয়ে দেয় কারণ এটি কোনও ফাঁকা / ব্রেক সন্নিবেশ করে না।

সহজভাবে, আমি পরামর্শ দিই যে সমস্তগুলি একসাথে একক লাইনে থাকা চিত্রগুলির সাথে একত্রে কাজ করতে হবে বা সামগ্রী / চিত্রগুলি উত্পন্ন করতে একটি সার্ভার সাইড স্ক্রিপ্ট ব্যবহার করতে হবে।


0

উপাদানগুলির মধ্যে একটি সিআর / এলএফ অপসারণ করার পরিবর্তে, আমি এসজিএমএল প্রসেসিং নির্দেশ ব্যবহার করি কারণ মিনিফায়ারগুলি প্রায়শই মন্তব্যগুলি সরিয়ে দেয়, তবে এক্সএমএল পিআই নয়। যখন পিএইচপি পিআই পিএইচপি দ্বারা প্রক্রিয়া করা হয়, তখন সিআর / এলএফ এর মধ্যে পিআইকে সম্পূর্ণরূপে অপসারণ করার অতিরিক্ত সুবিধা থাকে, এভাবে কমপক্ষে 8 বাইট সংরক্ষণ করা যায়। আপনি যেকোন যথেচ্ছ বৈধ নির্দেশের নাম ব্যবহার করতে পারেন যেমন এক্স (এইচটি) এমএলে দুটি বাইট সংরক্ষণ করতে পারেন।



-1

শব্দার্থকভাবে বলতে গেলে, অর্ডারযুক্ত বা আনর্ডারড তালিকা ব্যবহার না করে সিএসএস ব্যবহার করে উপযুক্তভাবে স্টাইল করা ভাল না?

<ul id="[UL_ID]">
    <li><img src="[image1_url]" alt="img1" /></li>
    <li><img src="[image2_url]" alt="img2" /></li>
    <li><img src="[image3_url]" alt="img3" /></li>
    <li><img src="[image4_url]" alt="img4" /></li>
    <li><img src="[image5_url]" alt="img5" /></li>
    <li><img src="[image6_url]" alt="img6" /></li>
</ul>

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


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