Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to escape quotes in inline styles?

Tags:

If I have an inline stylesheet, can and I want - for some strange reason - use the same quotes that u used to encapsulate the attribute value in my html code inside the css.

Is one of these correct?

<div style="background: url(\"http://my-url.com/img.jpg\")"></div>   <div style="background: url(&quot;http://my-url.com/img.jpg&quot;)"></div> 

I think the first one is correct and the second one is nonsense. Am I right or not, and why?

edit:

A co worker wrote it the second way, and the problem was that some browsers (included but not necessarily limited to internet explorer 6+7+8) requested the url INCLUDING the " signs which resultet in an 404 request.

edit 2:

okay now its really getting weird. this is the original code copy and pasted from our file.

<div class="cover" style="background-image: url(&quot;http://www.flimmit.com/media/search/filmcovers/105x152/ka/false/kf/false/F7780E.jpg&quot;);"> 

and this is straight from our error log:

13:09:45 (0.2424) [header] requ_uri        /schauspieler/Kelly+Trump/"http:/www.flimmit.com/media/search/filmcovers/105x152/ka/false/kf/false/F6TYO8.jpg" Mar 18 13:09:45 (0.0001) [header] server_addr     10.48.195.172 Mar 18 13:09:45 (0.0001) [header] http_user_agent Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; GTB6.6; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; eSobiSubscriber 2.0.4.16; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; AskTbFF/5.9.1.14019) Mar 18 13:09:45 (0.0001) [error] 404-Seite wurde aufgerufen Mar 18 13:09:45 (0.0386) [header] remote_ip       212.95.7.69 - AT Mar 18 13:09:45 (0.0001) [header] visitor_id      4095543, - Mar 18 13:09:45 (0.0001) [header] requ_url        http://www.flimmit.com/schauspieler/Kelly+Trump/"http:/www.flimmit.com/media/search/filmcovers/105x152/ka/false/kf/false/F6TYO8.jpg" Mar 18 13:09:45 (0.0001) [header] http_referer    http://www.flimmit.com/schauspieler/Kelly+Trump/ Mar 18 13:09:45 (0.0000) [header] finished at 0.2816 

this was an IE8 client. on IE6 the request uri even has &quot; instead of " in it.

So either we are all wrong or internet explorer is not respecting any standards?

like image 336
The Surrican Avatar asked Mar 18 '11 13:03

The Surrican


People also ask

How do you escape quotes in CSS?

Use a backslash. content:"i said don\"t Touch me"; Same goes for single quotes within single-quoted strings.

How do you escape quotes in HTML?

JavaScript Strings Escaping quotes Quotes in HTML strings can also be represented using &apos; (or &#39; ) as a single quote and &quot; ( or &#34; ) as double quotes. Note: The use of &apos; and &quot; will not overwrite double quotes that browsers can automatically place on attribute quotes.

How do you ignore inline style?

The only way to override inline style is by using ! important keyword beside the CSS rule.


2 Answers

use single quotes and I think it should be round brackets:

<div style="background: url('http://my-url.com/img.jpg')"></div> 

The &quot; works too (tested in jsFiddle):

<div style="background: url(&quot;http://my-url.com/img.jpg&quot;)">test</div> 
like image 169
Luke Duddridge Avatar answered Nov 04 '22 02:11

Luke Duddridge


First off, why?

You should be using () instead of '{}'

This way is best:

<div style="background: url('http://my-url.com/img.jpg')"></div> 

This way is fine:

<div style="background: url(&quot;http://my-url.com/img.jpg&quot;)"></div> 

This also works:

<div style="background: url(http://my-url.com/img.jpg)"></div> 

This doesn't work:

<div style="background: url(\"http://my-url.com/img.jpg\")"></div> 

Note: Remove the space after url.

like image 22
RDL Avatar answered Nov 04 '22 02:11

RDL