HTML not stretching to window on sever but working locally - javascript
I am facing a strange issue while creating a responsive webpage.
Basically, I created a simple html page(Page 1) and uploaded it to a blob storage. The page is then run in Azure AD's B2C portal which inserts login form into my html page (using CORS) and shows the combined page to the user. Since I have the source code of the final combined page(Page 2) which automatically merges my content with Azure's form, I am able to test the page from my local machine as well.
The issues I am facing is that Page 1 (which I upload to blob) stretches to window perfectly (both height and width), but Page-2 after it's merged with Azure login-form does not stretch along height.
I have already verified using chrome developer tools (enabled using F12 on chrome) that css style on html/body in page2 is the one I applied and only other thing added to it by browser/Azure is {display: block;} which I think should not cause this current issue.
Below are the source codes :-
Page 1 :
<html>
<head>
<title>User Details</title>
<meta name="viewport" content="width=device-width,height=device-height, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta charset="utf-8">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<!--
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=2.0, user-scalable=yes">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link type="text/css" rel="stylesheet" href="https://login.microsoftonline.com/static/tenant/default/css/common-1.0.4.css">
<link type="text/css" rel="stylesheet" href="https://login.microsoftonline.com/static/tenant/default/css/selfAsserted.1.0.8.css">
<script src="https://login.microsoftonline.com/static/tenant/default/js/layout-1.0.0.min.js"></script>-->
<style>
#main_div {
background-image:url('https://adasphase2.blob.core.windows.net/democontainerblockblob/mm_background.jpg');
/* background-color: 00ff00; */
height:100%;
width:100%;
background-repeat:no-repeat;
background-size:100% 100%;
}
body {
/*background-color: #ff00ff;*/
height:100%;
width:100%;
}
h1 {
font-size: 3vw;
letter-spacing: 0px;
color:#F8F8F8;
font-family: sans-serif;
padding:0% 5% 5% 5%;
}
img {
width:100%;
padding-top:10%;
/*padding-top:10%;
padding-left:5%;
padding-right:5%*/
}
label[for=password] {
display: none;
}
h2 {
display: none;
}
{
}
label[for=logonIdentifier] {
display: none;
}
#forgotPassword {
display: none;
}
#password, #logonIdentifier {
margin: 2% 5% 2% 5%;
width: 90%;
}
#password, #logonIdentifier {
margin: 1% 5%;
width: 86%;
padding: 2% 2%;
}
#next {
background-color: #222222;
border-style: solid;
border-radius: 5px;
border-color: #ffffff;
color: white;
padding: 2% 2%;
text-align: center;
font-size: 3vw;
font-family: sans-serif;
border-width: 1px;
width: 90%;
margin: 2% 5%;
text-transform: uppercase;
font-weight: bold;
}
#next:active {
background-color: #444444;
}
div.create {
display: none;
}
#forgot{
font-size: 3vw;
letter-spacing: 0px;
color:#F8F8F8;
font-family: sans-serif;
margin:2% 5%
}
</style
</head>
<body>
<div id="main_div">
<img id="background_background_image" src="https://adasphase2.blob.core.windows.net:443/democontainerblockblob/splash_stacked_logo.png" alt="Illustration" />
<h1>LOGIN WITH A TARPPORTAL.COM ACCOUNT OR CLICK REGISTER FOR A NEW ACCOUNT.</h1>
<div id="api"></div>
</div>
</body>
</html>
Page2 (combined page):
<!DOCTYPE html>
<!-- Build: 1.0.0.114 -->
<html>
<head>
<title>Loading...</title>
<script src="https://login.microsoftonline.com/static/library/require-2.1.17.min.js"></script>
<script>window.staticHost="https://login.microsoftonline.com/static";window.targetSlice="001-000";</script>
<script>var elementUrl="elements/selfasserted/unifiedSSP-1.0.8.min";</script>
<script>define('template.CP', [/** no dependencies. **/], {"list":[]});
define('template.SA_FIELDS', [/** no dependencies. **/], {"AttributeFields":[{"IS_TEXT":true,"IS_PASSWORD":false,"IS_DATE":false,"IS_RADIO":false,"IS_DROP":false,"IS_CHECK_MULTI":false,"IS_LINK":false,"VERIFY":false,"DN":"LogonIdentifier","ID":"logonIdentifier","U_HELP":"","DAY_PRE":"0","MONTH_PRE":"0","YEAR_PRE":"0","IS_REQ":true,"IS_RDO":false},{"IS_TEXT":false,"IS_PASSWORD":true,"IS_DATE":false,"IS_RADIO":false,"IS_DROP":false,"IS_CHECK_MULTI":false,"IS_LINK":false,"VERIFY":false,"DN":"Password","ID":"password","U_HELP":"Enter password","DAY_PRE":"0","MONTH_PRE":"0","YEAR_PRE":"0","IS_REQ":true,"IS_RDO":false}]});
define('language.data', [/** no dependencies. **/], {"email_pattern":"^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-]+#[a-zA-Z0-9-]+(?:\\.[a-zA-Z0-9-]+)*$","logonIdentifier_email":"Email Address","requiredField_email":"Please enter your email","logonIdentifier_username":"Username","createaccount_link":"Sign up now","requiredField_username":"Please enter your user name","createaccount_intro":"Don't have an account?","forgotpassword_link":"Forgot your password?","divider_title":"OR","cancel_message":"The user has forgotten their password","button_signin":"Sign in","social_intro":"Sign in with your social account","requiredField_password":"Please enter your password","invalid_password":"The password you entered is not in the expected format.","local_intro_username":"Sign in with your user name","local_intro_email":"Sign in with your existing account","invalid_email":"Please enter a valid email address","unknown_error":"We are having trouble signing you in. Please try again later."});
define('settings.data', [/** no dependencies. **/], {"remoteResource":"https://adasphase2.blob.core.windows.net/democontainerblockblob/RemoteServicesLoginPage.html","retryLimit":3,"api":"CombinedSigninAndSignup","csrf":"R2lYeVl1cEJLYWlpdENnSHJoOHpITHZtWWFaR2Y4eCsvcUZiK3JsTDd5OXFBZFAzUDViNDBtSTczUTd1YnpPS3RpVURmd1dPOGM1K0FZYU5Fam1IRkE9PTsyMDE2LTA1LTE4VDIyOjEzOjU3LjQxNTEwMjJaO0F6U0VkYlRUbDlHenNoQkVHK1JYSUE9PTt7Ik9yY2hlc3RyYXRpb25TdGVwIjoxfQ==","transId":"eyJUSUQiOiJmN2I4ODJjOS03NmJlLTQ0MzktYWJjNi1hNzE1NjM3ZDM4MGQifQ","pageMode":0,"config":{"operatingMode":"Email","sendHintOnSignup":"False","forgotPasswordLinkLocation":"AfterLabel","includePasswordRequirements":"true"},"hosts":{"tenant":"/lexustmstest.onmicrosoft.com/B2C_1_TMS_Lexus_SignUpandSignIn_Policy","policy":"B2C_1_TMS_Lexus_SignUpandSignIn_Policy","static":"https://login.microsoftonline.com/static/"},"locale":{"lang":"en","country":"US"}});
</script>
<script>var cookieEnabled=navigator.cookieEnabled?!0:!1,Constants;typeof navigator.cookieEnabled!="undefined"||cookieEnabled||(document.cookie="probe",cookieEnabled=document.cookie.indexOf("probe")!=-1?!0:!1),function(){document.querySelectorAll||(document.querySelectorAll=function(n){var i=i=document.createStyleSheet(),r=document.all,f=r.length,t,u=[];for(i.addRule(n,"k:v"),t=0;t<f;t+=1)if(r[t].currentStyle.k==="v"&&(u.push(r[t]),u.length>Infinity))break;return i.removeRule(0),u});String.prototype.trim||function(){var n=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;String.prototype.trim=function(){return this.replace(n,"")}}()}();cookieEnabled&&(Constants=[],Constants.ERROR_REDIRECT_CONSOLE_STRING="Redirecting back to B2C service with querystring",function(){for(var n,u=function(){},t=["assert","clear","count","debug","dir","dirxml","error","exception","group","groupCollapsed","groupEnd","info","log","markTimeline","profile","profileEnd","table","time","timeEnd","timeStamp","trace","warn"],i=t.length,r=window.console=window.console||{};i--;)n=t[i],r[n]||(r[n]=u)}(),require(["require"],function(){require.config({baseUrl:window.staticHost,paths:{jquery:"library/jquery-1.10.2.min",handlebars:"library/handlebars-2.0.0.min",requirecss:"library/require-css-0.1.8.min",simpleModal:"library/jquery.simplemodal-1.4.5.min",core:"js/core-1.0.17.min",metrics:"js/metrics-1.0.1.min",modal:"js/modal-1.0.1.min",iso:"js/iso-unified-1.0.2.min",element:elementUrl},map:{"*":{css:"requirecss"}},skipDataMain:!0});require(["core","settings.data","metrics","element"],function(n,t,i,r){try{window.Metrics=i;metricResource=window.Metrics.create(t.remoteResource);metricResource.start();function u(){var i,f=canSetHeaders=!0,e=t.retryLimit;window.XDomainRequest?(i=new XDomainRequest,f=canSetHeaders=!1):i=new XMLHttpRequest;i.open("GET",metricResource.id);canSetHeaders&&metricResource.id.indexOf(window.staticHost)===0&&i.setRequestHeader("x-ms-cpim-slice",window.targetSlice);i.onload=function(){var t,u;if(!f||f&&i.status===200){metricResource.end();t=(new Date).getTime();r.initialize(i.responseText);metricResource.setInitializationTime((new Date).getTime()-t);return}u="external?statusCode="+i.status+"&resource="+encodeURIComponent(metricResource.id);n.redirectToServer(u);return};i.onerror=function(){var t=0,r;f&&(t=i.status);r="external?statusCode="+t+"&resource="+encodeURIComponent(metricResource.id);n.redirectToServer(r)};i.timeout=function(){if(this.tryCount++,this.tryCount<=this.retryLimit){u();return}var t="external?statusCode=4&resource="+encodeURIComponent(metricResource.id);n.redirectToServer(t);return};i.onprogress=function(){};i.send()}u()}catch(f){n.redirectToServer("error?statusCode=0&statusMessage="+encodeURIComponent(f.message)+"&resource="+encodeURIComponent(t.remoteResource))}})}))</script>
</head>
<body>
<style>.no_display{display:none}.error_container h1{color:#333;font-size:1.2em;font-family:'Segoe UI Light',Segoe,'Segoe UI',SegoeUI-Light-final,Tahoma,Helvetica,Arial,sans-serif;font-weight:lighter}.error_container p{color:#333;font-size:.8em;font-family:'Segoe UI',Segoe,SegoeUI-Regular-final,Tahoma,Helvetica,Arial,sans-serif;margin:14px 0}</style>
<noscript>
<div id="no_js">
<div class="error_container">
<div>
<h1>We can't sign you in</h1>
<p>Your browser is currently set to block JavaScript. You need to allow JavaScript to use this service.</p>
<p>To learn how to allow JavaScript or to find out whether your browser supports JavaScript, check the online help in your web browser.</p>
</div>
</div>
</div>
</noscript>
<div id="no_cookie" class="no_display">
<div class="error_container">
<div>
<h1>We can't sign you in</h1>
<p>Your browser is currently set to block cookies. You need to allow cookies to use this service.</p>
<p>Cookies are small text files stored on your computer that tell us when you're signed in. To learn how to allow cookies, check the online help in your web browser.</p>
</div>
</div>
</div>
<script>if (!cookieEnabled) document.getElementById('no_cookie').className = '';</script>
</body>
</html>
Any help/pointers are appreciated !
You can try
body, html { margin: 0; padding: 0; }
On line 1 of your first page add
<!doctype html>
and then further down you have a typo on the closing style tag
</style <--------
</head>
thanks for your help. I found this post helpful :
Stackoverflow
Adding html{ height:100%; } resolved the issue.
Related
How to save some text entered into a contenteditable div, so that it reappears on the HTML when reloaded?
I can't figure out how I can save some text in a div which has 'ContentEditable="true"'set? Basically, I am very naive at coding HTML and CSS and JS is way out of my league. However, I have managed to make some sort of a day planner for myself using HTML and CSS. The problem is that, I don't know how to make the text that I put into a div in HTML (with contenteditable set to true) to remain and appear the next time I turn on the html file on a browser. I am going to use my application only in localhost and don't want to use any sort of database. Looking forward to you guys' expertise and kind help. Required information is given below-- .quote { width: 92%; height: 48vh; margin: 2% auto auto auto; background-color: beige; border-style: solid; border-width: 12px; border-color: aqua; display: grid; grid-template-rows: 12% auto; } .quote .p { height: 100%; margin:0 auto auto 12px; font-family: 'Montserrat', sans-serif; font-size: 12vh; background-image: linear-gradient(180deg, rgba(26,18,189,1) 51%, rgba(43,181,131,1) 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } .quote .p p { height: 100%; width: 100%; margin:0; } .quote .writetext { min-height: 8vmax; max-height: 19vmax; width: 25.6vmax; margin: 12px auto 12px auto; border-style: solid; border-width: 2px; border-color: white; font-family: 'Patrick Hand', cursive; font-size: 4vh; text-align: center; } <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>DayMaker- Welcome</title> <link rel="stylesheet" href="styles.css"> <script src="scripts.js"></script> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Patrick+Hand&display=swap" rel="stylesheet"> <link href="https://fonts.googleapis.com/css2?family=Montserrat:ital,wght#-1,600&display=swap" rel="stylesheet"> </head> <body> <div class="quote"> <div class="p"><p>"</p></div> <div class="writetext" contenteditable="true"> </div> </div> </body> </html> NOTE: The given code snippets are part of a larger project. So, please ignore the graphical discrepancies. This is a pic of the project I'm working on:-WE need to fix that box at bottom right I tried to search for solution a lot on the web but couldn't find any. Sincerely looking forward to your help.
You need a database there is no way I know of to do it without the data base if you are having trouble with SQL you can use excel otherwise I do not have a solution except use a database
Will this work? It uses a textarea element instead of div with conteneditable=true. Since you don't have a database it stores the text in localstorage and retrieves from it on page reload. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>DayMaker- Welcome</title> <link rel="stylesheet" href="styles.css"> <script src="scripts.js"></script> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Patrick+Hand&display=swap" rel="stylesheet"> <link href="https://fonts.googleapis.com/css2?family=Montserrat:ital,wght#-1,600&display=swap" rel="stylesheet"> <style> #writetext { resize: none; background-color: inherit; } </style> </head> <body> <div class="quote"> <div class="p"> <p>"</p> </div> <textarea id="writetext" class="writetext"></textarea> </div> <script> const textarea = document.querySelector('#writetext'); textarea.value = localStorage.getItem('writetext'); textarea.addEventListener('change', () => { localStorage.setItem('writetext', textarea.value); }) </script> </body> </html> Since there is no submit button you will have to lose focus from the textarea to save the text.
How to create a text inside a box using HTML and CSS?
I'm trying to create a text(S) inside a rectangular box and the other one(Fox.) outside the box, Just like this: I tried to create it but something is wrong Here's the code: div { width: 18px; height: 72px; padding: 10px; border: 5px solid black; margin: 0; } <html> <head> </head> <body> <div><h1>S</h1></div><p><h1>Fox.</h1> </body> </html>
Fixed it for you. The problem was that you used 2 h1 next to each other. Each h1 will automatically go to a new line. I fixed it by using only one h1 and added a <block> where you can add the styles. block { width: 18px; height: 72px; padding: 10px; border: 5px solid black; margin: 0; } <html> <head> </head> <body> <h1> <block>S</block> Fox. </h1> </body> </html>
the basic idea is not bad! Now I will show you a solution to your problem and we will analyze all the components together. Let's think about the structure of DIV. First you will need two divs with a reference class or reference ID and you want them to be arranged side by side. To put them side by side you could create an additional parent div, of flexible type (called father). We also need 2 texts. In this example I will use simple spans. We also create a style.css file where we will store the style of our containers So we can write this. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <!-- Link your stylesheet --> <link rel="stylesheet" href="style.css"> <title>Title</title> <div id="father"> <div id="sonOne"><span>S</span></div> <div id="sonTwo"><span class="fox">FOX.</span></div> </div> </head> <body> </body> </html> For the style instead, we need to assign the parent a flexible orientation and line type. For the style, on the other hand, we need to assign a flexible, row-type orientation to the parent. To the first div should be put the border and to the second div, the text inside should be bold Create style.css and try all togheter. Run this!!! #sonTwo,#sonOne { display: flex; flex-direction: column; justify-content: center; align-items: center; } #sonTwo,#sonOne span { font-size: 50px; } #father { display: flex; flex-direction: row; } #sonOne { border: 2px solid black; border-radius: 5px; padding: 5px; } #sonTwo { padding: 5px; } .fox { font-weight: bold; } <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <!-- Link your stylesheet --> <link rel="stylesheet" href="style.css"> <title>Title</title> <div id="father"> <div id="sonOne"><span>S</span></div> <div id="sonTwo"><span class="fox">FOX.</span></div> </div> </head> <body> </body> </html> For the S on the other hand, you could assign a font from Google Fonts that we have the borders the way you like them
HTML/CSS Why does my icon not load instantly & how to fix it?
body{ margin: 0 auto; background: #fff; } a.nounderline{ text-decoration: none; outline: none; color: #1478a0; font-size: 16px; font-family: 'Alef', sans-serif; } a.nounderline span{ color: #ffffff; } div.container{ text-align: center; box-sizing: border-box; margin: 0 auto; padding: 8px; background-color: #000000; } .floating-menu{ margin: 0 auto; right: 25px; position: fixed; font-family: 'Changa One', cursive; font-size: 16px; top:50%; -webkit-transform:translateY(-50%); -ms-transform:translateY(-50%); transform:translateY(-50%); height: 42%; } .icon { width: 32px; height: 32px; } a.new_paragraph span { line-height: 0em; display: block; } .main-menu{ margin: 0; padding: 0; top: 10px; bottom: 10px; list-style: none; }.main-menu li a{ text-align: center; text-decoration: none; outline: none; line-height: 3em; display: block; padding: 10px; color: #fff; border-radius: auto; position: relative; top: 36px; -webkit-transition: none; -o-transition: none; transition: none; } .main-menu li a:hover{ color: #1478a0; } .menu-bg{ background: dodgerblue; position: absolute; width: 100%; height: 100%; border-radius:55px; z-index: -1; top: 0; left: 0; } <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="description" content="Access Denied"> <meta name="author" content="AccessDenied"> <meta name="keywords" content="Social Media"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>AccessDenied</title> <link href="https://fonts.googleapis.com/css2?family=Changa+One&display=swap" rel="stylesheet"> <link href="https://fonts.googleapis.com/css2?family=Teko:wght#600&display=swap" rel="stylesheet"> <link href="https://fonts.googleapis.com/css2?family=Alef:wght#700&display=swap" rel="stylesheet"> <link href="css/style.css" rel="stylesheet" type="text/css"> <style type="text/css"> </style> </head> <body> <header> <div class="container"> ACCESS<span>DENIED</span> </div> </header> <main> <aside> </aside> </main> <sidebar> <nav class="floating-menu"> <ul class="main-menu"> <li> <a href="https://www.google.com" class="absoluteCenterWrapper"> <img class="icon" src="http://cdn.onlinewebfonts.com/svg/img_311846.png" class="absoluteCenter"> <div>LOGIN</div> </a> </li> <li> <a href="#" >REGISTER</a> </li> <li> <a href="#" class="new_paragraph" >GET<span>PREMIUM</span></a> </li> <li> </li> </ul> <div class="menu-bg"></div> </nav> </sidebar> <footer> </footer> </body> </html> Hello community, I added an icon for my navbar for the login, but when I load the website, the icon doesnt load instantly. How can I change it? I heard that it's better to use links for inserting pictures or icons to your website because it loads faster than when having a seperate picture in your project file as .png or .jpg. It really sucks that its slowly loading, usually on other websites its instant. Thanks!
The reason is its a massive image scaled down to icon size with your CSS and is probably being grabbed from a slow server. Here, all I did was reupload that icon to imgur and made it smaller. See here: https://i.imgur.com/76JuT8K.png?1 And look how your code runs now: body{ margin: 0 auto; background: #fff; } a.nounderline{ text-decoration: none; outline: none; color: #1478a0; font-size: 16px; font-family: 'Alef', sans-serif; } a.nounderline span{ color: #ffffff; } div.container{ text-align: center; box-sizing: border-box; margin: 0 auto; padding: 8px; background-color: #000000; } .floating-menu{ margin: 0 auto; right: 25px; position: fixed; font-family: 'Changa One', cursive; font-size: 16px; top:50%; -webkit-transform:translateY(-50%); -ms-transform:translateY(-50%); transform:translateY(-50%); height: 42%; } .icon { width: 32px; height: 32px; } a.new_paragraph span { line-height: 0em; display: block; } .main-menu{ margin: 0; padding: 0; top: 10px; bottom: 10px; list-style: none; }.main-menu li a{ text-align: center; text-decoration: none; outline: none; line-height: 3em; display: block; padding: 10px; color: #fff; border-radius: auto; position: relative; top: 36px; -webkit-transition: none; -o-transition: none; transition: none; } .main-menu li a:hover{ color: #1478a0; } .menu-bg{ background: dodgerblue; position: absolute; width: 100%; height: 100%; border-radius:55px; z-index: -1; top: 0; left: 0; } <html lang="en"> <head> <meta charset="UTF-8"> <meta name="description" content="Access Denied"> <meta name="author" content="AccessDenied"> <meta name="keywords" content="Social Media"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>AccessDenied</title> <link href="https://fonts.googleapis.com/css2?family=Changa+One&display=swap" rel="stylesheet"> <link href="https://fonts.googleapis.com/css2?family=Teko:wght#600&display=swap" rel="stylesheet"> <link href="https://fonts.googleapis.com/css2?family=Alef:wght#700&display=swap" rel="stylesheet"> <link href="css/style.css" rel="stylesheet" type="text/css"> <style type="text/css"> </style> </head> <body> <header> <div class="container"> ACCESS<span>DENIED</span> </div> </header> <main> <aside> </aside> </main> <sidebar> <nav class="floating-menu"> <ul class="main-menu"> <li> <a href="https://www.google.com" class="absoluteCenterWrapper"> <img class="icon" src="https://i.imgur.com/76JuT8K.png?1" class="absoluteCenter"> <div>LOGIN</div> </a> </li> <li> <a href="#" >REGISTER</a> </li> <li> <a href="#" class="new_paragraph" >GET<span>PREMIUM</span></a> </li> <li> </li> </ul> <div class="menu-bg"></div> </nav> </sidebar> <footer> </footer> </body> </html>
This may depend on your server and cdn config BUT as written, It loads pretty darn fast (there is no loading animation or logic waits just load order and parallelization issues). If you want it to load faster you can offset your font links, each of those is going to take up a DNS lookup and load BEFORE your image. You can either prefetch, async, or defer these. If you are going to add a css reference do the same. Javscript do the same. Internal CSS style tag move it to bottom of body. You can also move fonts, js, css to local file so it doesn't use DNS to do lookups. Additionally, your CDN is serving on http1.1 ideally you want http2 for more parallelization. Finally, you have no caching on the image on web, this should be set in your CDN for that image or image file types in general. That means you'd only ever need to download it one time. Much more server specific is cache control for your other assets. If you make people download js, css, fonts everytime they load your site then its always gonna suck up more time than if you cache it.
It's slow on my machine too - over 600 ms - and it does not get cached. If you don't have better options as far as a sever to host it on, you could consider embedding it directly into your HTML. Here's a site that will convert your existing URL into a base 64 img tag, that you just include directly in your page and there's no additional load needed: https://base64.guru/converter/encode/image/png
If you link to an external asset, the loading time can only be as fast as the speed and throughput external source's servers permit for the nature and size of the asset. In general, images are always going to load more slowly than text, html and your CSS styles. There are ways to mitigate against this using optimisations in front- and back-end code, but there are also low-hanging fruits if you wish to keep your project relatively simple. It's worth noting that all of the icons on the homepage of onlinewebfonts.com took a little while to load, and it's probable that they aren't prioritising performance as a free and honestly rather old-school looking service. I have a few suggestions that may help you out. Firstly, the gold-standard for external icons (many of which are completely free) is fontawesome.com. They provide copy-and-paste html for hundreds of modern, performant icons plus guides for hosting, CSS styling and accessibility. Secondly, consider the format and resolution of the content you wish to include. The icon you have chosen is a medium-to-large PNG. Considering the rendered size of the icon, this could be overkill and would naturally increase the load time. As Dai mentioned, self-hosting gives you more control over loading and content sizing; you could create a smaller, optimised version of the file and host it yourself with your html and css files. Finally, depending on your project goals, you could consider a more advanced solution and create your own icon using the SVG html element. SVGs give you a tonne of creative flexibility in an efficient, embedded format which doesn't load via a separate HTTP request but simultaneously with your html. (Worth noting here that this does mean these icons cannot be cached or pre-loaded.) There are loads of free-to-use SVG code templates if you search for them, or you can attempt to create a unique one of your own design using the numerous permitted shape and fragment elements, or in a vector graphics program like Adobe Illustrator. Lots more on SVGs at csstricks.com. Hope this helps!
CSS- HELP Checkbox issue on widget
I've used a javaScript function to "build" a widget, call it on an HTML page and make it responsive using CSS. Now, I've to use that same widget on an mvc.net application and i can't make it work like i want it. In the image shown bellow "aluger","venda", "compra" and "permuta" all show up in the same line, and I want them to show up on different lines. I've used display:block and nothing happend. Those options are loaded automatic. Can some one please help me? CSS of DIV: #div_maior { display:block; width: 100%; height: 100%; background-color: #ffffcc; clear: both; min-height: 50px; max-height: 200px; } #div_global { clear:left; display:block; float:left; padding: .5%; border-color: transparent; height: 100%; width: 30%; // overflow: auto; } HTML OF THE WIDGET: <html> <head> <title>TODO supply a title</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script type="text/javascript" src="javascript.js"></script> <link rel="stylesheet" type="text/css" href="estilos.css"/> </head> <body id="body" onload="getFacetasAJAX()"> <label id="div_maior"> <label id="div_global" style="display: inline-block"> </label> <label id="div_resultados" style="display: inline-block"> </label> </label> </body> </html>
Using Jquery mobile on Tizen webapp
I am making a Tizen web app and want to use jQuery mobile's "taphold" listener. I downloaded the latest .js from the jQuery mobile site, but when I try to include it, it doesn't work. Am I meant to use it with jQuery or by itself? both product errors. Without including jQuery I get the error: js/jquery.mobile-1.4.2.min.js (26) :TypeError: 'undefined' is not an object (evaluating '$.mobile = {}')" But if I do include jQuery when going to that page the screen is completely black and I can not do anything.
You should post your code. JQuery Mobile works with Tizen, you can even add it to project from IDE. Below is index.html for TizenWeb version of JQuery tutorial on taphold event. All is working. You can use it as template for your solution. <!DOCTYPE html> <html> <head> <meta charset="utf-8"/> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> <meta name="description" content="A single-page template generated by Tizen Web IDE"/> <title>Tizen Web IDE - Tizen - jQuery Mobile - tapHold listener</title> <link rel="stylesheet" href="./css/jquery.mobile-1.2.0.css"/> <script type="text/javascript" src="./js/jquery-1.8.2.js"></script> <script type="text/javascript" src="./js/jquery.mobile-1.2.0.js"></script> <script type="text/javascript" src="./js/main.js"></script> <link rel="stylesheet" href="./css/style.css" /> <style> <!-- based on http://api.jquerymobile.com/taphold/ --> html, body { padding: 0; margin: 0; } html, .ui-mobile, .ui-mobile body { height: 85px; } .ui-mobile, .ui-mobile .ui-page { min-height: 85px; } #nav { font-size: 200%; width:17.1875em; margin:17px auto 0 auto; } #nav a { color: #777; border: 2px solid #777; background-color: #ccc; padding: 0.2em 0.6em; text-decoration: none; float: left; margin-right: 0.3em; } #nav a:hover { color: #999; border-color: #999; background: #eee; } #nav a.selected, #nav a.selected:hover { color: #0a0; border-color: #0a0; background: #afa; } div.box { width: 3em; height: 3em; background-color: #108040; } div.box.taphold { background-color: #7ACEF4; } </style> </head> <body> <!-- based on http://api.jquerymobile.com/taphold/ --> <div data-role="page" > <div data-role="header" data-position="fixed" > <h1>Single-Page Application </h1> </div><!-- /header --> <div data-role="content" > <p>This is a single page boilerplate template that you can copy to build your first jQuery Mobile page.</p> <h3>Long press the square for 750 milliseconds to see the above code applied:</h3> <div class="box"></div> <script> $(function(){ $( "div.box" ).bind( "taphold", tapholdHandler ); function tapholdHandler( event ) { $( event.target ).addClass( "taphold" ); } }); </script> </div><!-- /page --> </body> </html>