Foundation for Emails (Ink) menu item separators - email

I am building an email template using Foundation for Emails and I want to place a " • " between my menu items.
Everything works well across all email clients, except in Outlook - the dot between the menu items somehow drops below the whole menu like so:
Outlook:
Here is my Ink code:
<row>
<columns small="12" large="4">
<center>
<menu class="small-vertical">
<item href="#">
<span class="nav-item">
<font color="#010101">
menu item 1
</font>
</span>
</item>
<item>
<p style="color: #8d8e90;">•</p>
</item>
<item href="#">
<span class="nav-item">
<font color="#010101">
menu item 2
</font>
</span>
</item>
<item>
<p style="color: #8d8e90;">•</p>
</item>
<item href="#">
<span class="nav-item">
<font color="#010101">
menu item 3
</font>
</span>
</item>
</menu>
</center>
</columns>
</row>
How can I bypass this issue?

A bullet is an extended character and needs an alternative code to display correctly with Outlook and other html and email clients.
Extended characters are those which are not in the standard ASCII character set, which uses 7-bit characters and thus has values 0 to 127. ASCII Codes 0 to 31 and 127 are non-printing control characters, while codes 32 to 126 match the keys on a US keyboard ("a", "A", etc.).
• is bolder and slightly higher than ·. You can also use a - dash. Either works in every recent version of Outlook and other email clients.
I took a look at your code again and realized you're doing a lot of things that Outlook doesn't understand, like <item>. Outlook really doesn't use HTML5, so replacing the bullet with a better bullet may not do much. You don't include your HTML code, CSS code, just a snippet, which makes it impossible to determine what else is wrong.
Good luck.

How about removing the paragraph tags and adding in an item between items with href to display bullets? I have a feeling it might work.
For bullet points you can try either of these:
• or •
They both work the same way Below is your code, I just changed paragraph to item and hope it works.
<row>
<columns small="12" large="4">
<center>
<menu class="small-vertical">
<item href="#">
<span class="nav-item">
<font color="#010101">
menu item 1
</font>
</span>
</item>
<item>
<item style="color: #8d8e90;">•</item>
</item>
<item href="#">
<span class="nav-item">
<font color="#010101">
menu item 2
</font>
</span>
</item>
<item>
<item style="color: #8d8e90;">•</item>
</item>
<item href="#">
<span class="nav-item">
<font color="#010101">
menu item 3
</font>
</span>
</item>
</menu>
</center>
</columns>
</row>
Hope it works.

Related

How to use mailto with material ui?

Trying to find how to use mailto in material UI. I tried just using a simple tag within a ListItem, I tried using
<ListItem button component={Link} mailto='' />
I also tried
<ListItem button >
<i class="material-icons mail_outline">mail_outline</i>
<ListItemText primary="Support" />
</ListItem>
I tried to find information about this on material-UI's website & Github but nothing. I would really appreciate some help.
I based mine on #Gary Vernon Grubb's answer, and added it into a button.
<Button
variant="contained"
size="large"
color="primary"
target="_top"
rel="noopener noreferrer"
href={`mailto:test#example.com`}
>
<Typography variant="button" style={{ fontSize: '0.69rem' }}>
Send Documents
</Typography>
</Button>
If you set the component equal to a (the hyperlink tag), you can then use the href attribute to set the e-mail.
Thus, you'll get the following line.
<ListItem button key="Email" component="a" href="mailto:name#email.com">
Mailto is a Uniform Resource Identifier (URI) scheme for email addresses. It is used to produce hyperlinks on websites that allow users to send an email to a specific address without first having to copy it and enter it into an email client.
<ListItem>
Send Mail
</ListItem>
Above code works well for me in ReactJs with Material-UI library included.
This is how I do it with material-ui:
<FormControlLabel
control={
<a target="_top"
rel="noopener noreferrer"
href="mailto:test#example.com">
<IconButton color="primary">
<EmailOutline /> {/* icon */}
</IconButton>
</a>
}
label={"test#example.com"}
labelPlacement="end"
/>

Schema.org RDFa: marking up <img> as ImageObject?

I'm using Schema.org and RDFa to mark up an HTML page. I have an image as follows:
<div class="image_container">
<a href="big_whatever.jpg">
<img src="whatever.jpg" alt="A picture of Whatever" title="Whatever">
</a>
</div>
What is the correct way to mark this up, so that:
1. big_whatever.jpg (the link href) becomes the contentUrl
2. The alt property becomes the description
3. The title property becomes the name
4. Ideally, I would also like the alt property to be the caption, as well.
Now, this is easy enough with JSON-LD, but I prefer to use RDFa for this particular case. This is what I've got so far:
<div class="image_container" vocab="http://schema.org/" typeof="ImageObject">
<a href="big_whatever.jpg">
<img src="whatever.jpg" alt="A picture of Whatever" title="Whatever">
</a>
</div>
It is not possible to use the values of alt or title attributes in RDFa.
You could duplicate them with "hidden" meta elements:
<div vocab="http://schema.org/" typeof="ImageObject">
<a property="contentUrl" href="big_whatever.jpg">
<img src="whatever.jpg" alt="A picture of Whatever" title="Whatever" />
</a>
<meta property="description caption" content="A picture of Whatever" />
<meta property="name" content="Whatever" />
</div>
If you don’t need a property on the img element (e.g., for thumbnailUrl), you could use property+content to save one meta element:
<div vocab="http://schema.org/" typeof="ImageObject">
<a property="contentUrl" href="big_whatever.jpg">
<img src="whatever.jpg" alt="A picture of Whatever" title="Whatever" property="name" content="Whatever" />
</a>
<meta property="description caption" content="A picture of Whatever" />
</div>
Thanks to the content attribute, RDFa won’t use the src value. But I think it’s more clear to go with the first snippet.

Typo3 Content Elements not visible in own Fluid Template

I started to create my own Typo3 extension which is based on FluidTemplating. I created Layouts, Templates and Custom Content Elements. The site works fine regarding showing the template. I am also able to see the backend grid for the content elements. But when I add new Content Elements (no matter if Typo3 predefined ones or the ones from my extension), the placeholder within the template does not get replaced with the specific content.
I defined the grid in the Page-Template as follows:
<f:section name="Configuration">
<flux:form id="frontpage">
<!-- Insert fields, sheets, grid, form section objects etc. here, in this flux:form tag -->
</flux:form>
<flux:grid>
<!-- Edit this grid to change the "backend layout" structure -->
<flux:grid.row>
<flux:grid.column colPos="0" colspan="12" name="main" />
</flux:grid.row>
<flux:grid.row>
<flux:grid.column colPos="1" colspan="4" name="footerleft" label="Footer Left" />
<flux:grid.column colPos="2" colspan="4" name="footermiddle" label="Footer Middle" />
<flux:grid.column colPos="3" colspan="4" name="footerright" label="Footer Right" />
</flux:grid.row>
</flux:grid>
</f:section>
And add them into the sections like this:
<f:section name="Main">
<div class="section">
<v:content.render column="0" />
</div>
</f:section>
<f:section name="Footer">
<div class="footer">
<v:content.render column="1" />
<v:content.render column="2" />
<v:content.render column="3" />
</div>
</f:section>
Has anyone some ideas/suggestions/experience? What could be the problem here or how I am able to debug the problem?
Thanks a lot in advance.
Including the template if you haven't done so:
Here is an example:
typo3 styles.content.get not working

HTML NEWSLETTER : Image with wrapped link isn't clickable on iPhone

I've wrote a HTML Newsletter and have a link (a href) around my image.
It's typical and valid HTML code.
But if I test my newsletter on iPhone and try to click on that image to follow my link.
iphone menu pops out and I can share the link, save the image .. etc. but I cannot open the Link!
I don't know why?! AAaargh.
It's a HTML Newsletter, I can't use JavaScript.
<td width="253" valign="middle">
<a href="http://mydomain.com/mydocument.pdf" target="_blank">
<img src="http://mydomain.com/button.png" width="253" height="39" alt="My Image" style="display:block;" border="0" />
</a>
</td>
The solution is ...
Make a Imagemap over the graphics-element It' works
<img src="button.png" width="253" height="39" alt="" style="display:block;" border="0" usemap="linkmap" />
an then .
<map name="linkmap">
<area shape="rect" coords="0,0,253,39" href="http://mydomain.com/mydocument.pdf" target="_blank" alt="" />

My HTML5 form displays inline and without line breaks

I'm doing this HTML5 form, but when I check it on the browser (running it locally) it displays the label next to the input space next to le label and so.
heres the code:
<form>
<label for="name">Nombre:</label>
<input type="text" id="name" placeholder="Ingresa tu Nombre" required />
<label for="email">Email:</label>
<input type="email" id="email" placeholder="Ingresa tu e-mail " required />
<label for="message">Mensage:</label>
<textarea id="message" placeholder="Ingresa tu Mensaje" required></textarea>
<input type="submit" value="Envia tu mensage" >
</form>
should I use <br />? I already checked on other web pages and they dont use it
thank you.
As Kolink pointed out, the form displays inline as all the elements inside it are inline.
You shouldn't be using <br/> or <p> as they are not intended for that purpose (You shouldn't be using a toothbrush to clean a toilet). Better use a <ul> with <li> for each field. This makes sense as the form is nothing but a list of fields.
The mark-up would be like this:
<form>
<ul>
<li>
<label for="something">some label</label>
<input id="something" />
</li>
</ul>
</form>
Alternatively, you can go ahead and use <div> as well (but not <p>).
Well, <label> is inline, <input> is inline, <textarea> is inline...
If all your elements are inline, of course your overall form will be.
Try using the <br /> tag, or maybe <p>...</p>.
Kolink is correct. Another way to address this is to add
display: block;
to all input and label elements using CSS.