Функциональность Bootstrap, похоже, немного изменилась с момента выпуска v4. Элемент .dropdown-menu
также появляется в дополнение к .dropdown
классу .show
. Я адаптировал ответ Андрея, чтобы переключить класс на .dropdown-menu
. Обратите внимание, что CSS больше не нужен, и HTML тот же, за исключением того, что я обновил ссылки на текущие версии, а класс nav изменился на navbar-expand-md
.
$('body').on('mouseenter mouseleave', '.dropdown', function (e) {
var dropdown = $(e.target).closest('.dropdown');
var menu = $('.dropdown-menu', dropdown);
dropdown.addClass('show');
menu.addClass('show');
setTimeout(function () {
dropdown[dropdown.is(':hover') ? 'addClass' : 'removeClass']('show');
menu[dropdown.is(':hover') ? 'addClass' : 'removeClass']('show');
}, 300);
});
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.2.1.min.js" integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4=" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
<nav class="navbar navbar-expand-md navbar-light bg-faded">
<button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<a class="navbar-brand" href="#">Navbar</a>
<div class="collapse navbar-collapse" id="navbarNavDropdown">
<ul class="navbar-nav">
<li class="nav-item active">
<a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Features</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Pricing</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="http://example.com" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropdown link
</a>
<div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
<a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a>
<a class="dropdown-item" href="#">Something else here</a>
</div>
</li>
</ul>
</div>
</nav>
Многие из них игнорируются некоторыми почтовыми клиентами. Это всегда риск, который вы принимаете в тяжелых графических html-письмах. У вас почти наверняка есть получатели, которые видят это неправильно. Я всегда предлагаю своим клиентам не запрашивать такие проекты электронной почты, которые имеют 6-12 изображений, сгруппированных в таблицу. Тем не менее, всегда будут те, кто настаивает на том, чтобы это было сделано, и даже после того, как я покажу им результаты в нескольких почтовых клиентах, они по-прежнему просят, чтобы это было сделано.
Избегайте его, если можете. К сожалению, на самом деле нет гарантированного исправления.
Если вы отправляете электронное письмо группе получателей, которые находятся в одном почтовом клиенте, вы, вероятно, можете решить ее с помощью одного из приведенных выше кодов, чтобы найти один ваш почтовый клиент отвечает наилучшим образом.
Я также сталкиваюсь с той же проблемой.
Но я попробовал
<img src ="images/xyz.jpg" style="display:block">
и решил
Не увидев ваш код, я бы предположил, что вы видите пробелы между изображениями, потому что у вас есть реальное пространство между вашими изображениями.
Если у вас есть что-то вроде этого ...
<img src="image1.jpg">
<img src="image2.jpg">
Измените его на ... (обратите внимание, что между двумя тегами изображения нет места)
<img src="image1.jpg"><img src="image2.jpg">
Если вы помещаете изображения в отдельные ячейки (то есть одно изображение на ячейку ), затем попробуйте поместить CSS из border-collapse:collapse
...
<table border="0" cellpadding="0" cellspacing="0" style="border-collapse:collapse">
UPDATE
Как указывает @Shadow, ни одна из частей выше не имеет никакого значения.
Похоже, что FireFox и Chrome имеют дело с изображением, так как текст (по какой-то причине), поэтому его предложение table td { font-size:0px; }
- это ИМХО правильный ответ. (IE, похоже, не затрагивает проблему.)
Эта проблема распространена на многих почтовых клиентах, просто используйте:
<img style="display:block" />
для каждого изображения в вашем HTML.
много раз это может быть ошибка пользователя. когда вы нарезаете фотошоп, убедитесь, что ВСЕ СЦЕНЫ ОБРАТНЫ. если есть зазор в 1px, тогда это все испортит !!!
также, вот трюк, который я узнал ....
Установите все изображения, чтобы иметь границу = 0 "после alt =" "...
, если есть какие-либо ** ** теги, а я имею в виду только, а не
, например, ...
попробуйте это и убедитесь, что все изображения имеют border = "0", и все метки имеют заданную ширину, все фрагменты касаются, и у вас должно быть 0 пробелов.
На изображениях попробуйте использовать
style="display:block"
Он должен работать.
Из быстрой проверки, которую я только что сделал, похоже, проблема связана с тем, что пустое пространство внутри разметки ячеек занимает какое-то место и делает ячейки более крупными.
. Один из способов - установить размер шрифта ячейки для 0, что устраняет это дополнительное пространство.
Живой тестовый пример с исправленным применением .
В вашем случае попробуйте добавить это в HTML-код send:
<style type="text/css">
table td { font-size: 0px; }
</style>
Предполагается, что у вас есть только одна таблица, и все ячейки имеют только изображения, если у вас больше таблиц, тогда укажите эту конкретную таблицу id
, например <table id="MyImagesTable">
затем измените на:
#MyImagesTable td { font-size: 0px; }
Если почтовый клиент тех, кто получает письмо, не поддерживает таблицы стилей, вам придется вручную установить его для каждой ячейки:
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<td style="font-size: 0px;">...</td>
<td style="font-size: 0px;">...</td>
<td style="font-size: 0px;">...</td>
</tr>
<!-- ...more rows... -->
</table>
white-space:nowrap
может помочь, это не так) ... я не понимаю, что в вашем jsfiddle есть is < / i> нет пробелов между тегами <td>
, <img>
и </td>
... это браузер, помещающий его там, несмотря на отсутствие разделения?
– freefaller
20 June 2012 в 12:15