1. Advertising
    y u no do it?

    Advertising (learn more)

    Advertise virtually anything here, with CPM banner ads, CPM email ads and CPC contextual links. You can target relevant areas of the site and show ads based on geographical location of the user if you wish.

    Starts at just $1 per CPM or $0.10 per CPC.

Horizontal scrollbar does not appear on mobile

Discussion in 'CSS' started by Saputnik, Apr 20, 2020.

  1. #1
    Hello; I would appreciate if someone could help me on this issue. There is free html template I like, "Daily News" at CodexCoder. As title suggests, I have issue with horizontal scrollbar.

    I want to insert some football tables onto the pages. Tables are actually Excel files exported as .htm, hence they are not responsive, and I don't want them to be responsive. I insert them using php include statement (for that purpose, I convert .htm file from original template into .php file; .htm files need JS to include another file, so it's easier to just convert them to .php).

    So, on desktop layout, everything works like a charm - main content shows my table, and there is right sidebar. However, when site goes mobile, i.e., when browser width decreases below width of the table, right part of the table becomes obfuscated, invisible (which I expected), but there is no horizontal scroll bar, so I can scroll to the right to see the entire table (which I did not expect!).

    Likewise, on mobile phone, content cannot be scrolled to the left, it does not respond to tap-and-hold, so table is cut in half as well.

    Here is the example: www.oxeas.com, and screenshots are attached to this post, I hope it is clear what I'm trying to say.

    I guess the switch is somewhere in .css, but I didn't manage to find it. I dabbled a bit with overflow and scroll atributes in bootstrap css, but it didn't yield any results, and google search also didn't bring more luck, so I don't know where else to look.

    Yes, I know one option is to contact developer, but it's a free theme, I guess they don't provide support for free themes, and I'm not willing to pay; I like the template, but not that much. :cool:

    Hope someone here knows how to get that scrollbar back? Thanks in advance!
     

    Attached Files:

    Saputnik, Apr 20, 2020 IP
  2. deathshadow

    deathshadow Acclaimed Member

    Messages:
    9,732
    Likes Received:
    1,998
    Best Answers:
    253
    Trophy Points:
    515
    #2
    Whilst the page is the typical wreck of bootcrap 3i -- ignorance, incompetence, and ineptitude -- what's REALLY biting you is that letting Excel output HTML is like hiring a five year old with crayons to counterfeit the mona lisa. The markup for those tables is even bigger trash than what bootcrap makes you write. Endless pointless classes for nothing, non-semantic structure, etc, etc. I would suggest junking the whole mess of a page and starting over from scratch.

    But if you're looking for a silver bullet try adding overflow:auto to the DIV around the tables. That Should give them each their own horizontal scrollbar when the containing page is too small.

    But really, SERIOUSLY, start over. Have excel output something like CSV and have some server-side code generate REAL HTML from that, not the corrupted, bloated, train wreck laundry list of how NOT to use HTML that Excel vomits up. You also don't just blindly copypasta Excel's output with the second HTML, HEAD, BODY, etc into your existing BODY. /FAIL/ at the most basic use of HTML. Gah, all those blasted classes for nothing and non-semantic tables.... this is why HTML export is utter garbage.

    See this?

    
    				<p>
    					Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ad, provident, nam sint iure excepturi possimus dolor et iusto id praesentium! Quaerat veritatis placeat ut ad repellendus maxime quos id consequuntur. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Ad, provident, nam sint iure excepturi possimus dolor et iusto id praesentium!
    				</p>
    <html xmlns:o="urn:schemas-microsoft-com:office:office"
    xmlns:x="urn:schemas-microsoft-com:office:excel"
    xmlns="http://www.w3.org/TR/REC-html40">
    Code (markup):
    Don't do that. There should only be ONE <html>,, <head>, and <body> per page. You have many of each.

    Or see trash like this made by Excel:

    <div id="E1_18277" align=center x:publishsource="Excel">
    
    <table border=0 cellpadding=0 cellspacing=0 width=714 class=xl6618277
     style='border-collapse:collapse;table-layout:fixed;width:539pt'>
     <col class=xl6818277 width=19 style='mso-width-source:userset;mso-width-alt:
     694;width:14pt'>
     <col class=xl6718277 width=103 style='mso-width-source:userset;mso-width-alt:
     3766;width:77pt'>
     <col class=xl6718277 width=37 style='mso-width-source:userset;mso-width-alt:
     1353;width:28pt'>
     <col class=xl6918277 width=37 span=5 style='mso-width-source:userset;
     mso-width-alt:1353;width:28pt'>
     <col class=xl6618277 width=37 style='mso-width-source:userset;mso-width-alt:
     1353;width:28pt'>
     <col class=xl6818277 width=37 style='mso-width-source:userset;mso-width-alt:
     1353;width:28pt'>
     <col class=xl6618277 width=37 span=8 style='mso-width-source:userset;
     mso-width-alt:1353;width:28pt'>
     <tr class=xl7018277 height=33 style='mso-height-source:userset;height:24.95pt'>
      <td colspan=18 height=33 class=xl13718277 width=714 style='height:24.95pt;
      width:539pt'><a name="RANGE!A1:R87">England Championship - extended table</a></td>
     </tr>
     <tr class=xl13418277 height=24 style='mso-height-source:userset;height:18.0pt'>
      <td height=24 class=xl7118277 style='height:18.0pt'></td>
      <td class=xl7318277>CF</td>
      <td class=xl13518277 colspan=2>Corners for</td>
      <td class=xl13418277 width=37 style='width:28pt'></td>
      <td class=xl13618277></td>
      <td class=xl7218277 width=37 style='width:28pt'></td>
      <td class=xl7318277></td>
      <td class=xl7318277>SCG</td>
      <td class=xl13518277 colspan=4>Shots to concede a goal</td>
      <td class=xl13418277 width=37 style='width:28pt'></td>
      <td class=xl13418277 width=37 style='width:28pt'></td>
      <td class=xl13418277 width=37 style='width:28pt'></td>
      <td class=xl13518277></td>
      <td class=xl13518277></td>
     </tr>
     <tr class=xl13418277 height=24 style='mso-height-source:userset;height:18.0pt'>
      <td height=24 class=xl7118277 style='height:18.0pt'></td>
      <td class=xl7318277>CA</td>
      <td class=xl13518277 colspan=3>Corners against</td>
      <td class=xl13618277></td>
      <td class=xl7218277 width=37 style='width:28pt'></td>
      <td class=xl7318277></td>
      <td class=xl7318277>SoTCG</td>
      <td class=xl13518277 colspan=5>Shots on target to concede a goal</td>
      <td class=xl13418277 width=37 style='width:28pt'></td>
      <td class=xl13418277 width=37 style='width:28pt'></td>
      <td class=xl13518277></td>
      <td class=xl13518277></td>
     </tr>
     <tr class=xl13418277 height=24 style='mso-height-source:userset;height:18.0pt'>
    Code (markup):
    Which shouldn't even BE a table, doing the job of:

    <div class="extendedTable">
    	<h3>England Championship - extended table</h3>
    	<dl>
    		<dt>CF</dt>
    		<dd>Corners for</dd>
    		<dt>SCG</dt>
    		<dd>Shots to concede a goal</dd>
    		<dt>CA</dt>
    		<dd>Corners against</dd>
    		<dt>SoTCG</dt>
    		<dd>Shots on target to concede a goal</dd>
    
    Code (markup):
    or this wreck of tabular data which should be a SEPARATE table all unto itself:

    
     <tr height=24 style='mso-height-source:userset;height:18.0pt'>
      <td height=24 class=xl7418277 style='height:18.0pt'>&nbsp;</td>
      <td class=xl8318277>ALL MATCHES</td>
      <td class=xl8518277>CF</td>
      <td class=xl8418277>CA</td>
      <td class=xl8618277>CT</td>
      <td class=xl8418277>Sm</td>
      <td class=xl8418277>Sa</td>
      <td class=xl8518277>SoTm</td>
      <td class=xl8618277>SoTa</td>
      <td class=xl8418277>SSG</td>
      <td class=xl8418277>SoTSG</td>
      <td class=xl8518277>SCG</td>
      <td class=xl8618277>SoTCG</td>
      <td class=xl8518277 style='border-left:none'>WM</td>
      <td class=xl8718277>LM</td>
      <td class=xl8418277>MG1</td>
      <td class=xl8418277>MGE</td>
      <td class=xl8418277>MG2</td>
     </tr>
     <tr height=24 style='mso-height-source:userset;height:18.0pt'>
      <td height=24 class=xl7518277 style='height:18.0pt'>1</td>
      <td class=xl8818277>Leeds</td>
      <td class=xl11618277>7.4</td>
      <td class=xl9018277>4.3</td>
      <td class=xl11718277>11.7</td>
      <td class=xl9018277>16.3</td>
      <td class=xl9018277>9.1</td>
      <td class=xl11618277>5.3</td>
      <td class=xl11718277>2.8</td>
      <td class=xl9018277>9.7</td>
      <td class=xl9018277>3.1</td>
      <td class=xl11618277>11.4</td>
      <td class=xl11718277>3.5</td>
      <td class=xl11618277 style='border-left:none'>1.7</td>
      <td class=xl11818277>1.0</td>
      <td class=xl8918277>4</td>
      <td class=xl8918277>6</td>
      <td class=xl8918277>15</td>
     </tr>
     <tr height=24 style='mso-height-source:userset;height:18.0pt'>
      <td height=24 class=xl7618277 style='height:18.0pt'>2</td>
      <td class=xl9118277>West Brom</td>
      <td class=xl11918277>5.6</td>
      <td class=xl9318277>5.6</td>
      <td class=xl12018277>11.2</td>
      <td class=xl9318277>13.0</td>
      <td class=xl9318277>12.3</td>
      <td class=xl11918277>4.4</td>
      <td class=xl12018277>4.4</td>
      <td class=xl9318277>6.9</td>
      <td class=xl9318277>2.4</td>
      <td class=xl11918277>11.4</td>
      <td class=xl12018277>4.1</td>
      <td class=xl11918277 style='border-left:none'>1.6</td>
      <td class=xl12118277>1.5</td>
      <td class=xl9218277>6</td>
      <td class=xl9218277>6</td>
      <td class=xl9218277>13</td>
     </tr>
     <tr height=24 style='mso-height-source:userset;height:18.0pt'>
      <td height=24 class=xl7518277 style='height:18.0pt'>3</td>
      <td class=xl8818277>Fulham</td>
      <td class=xl11618277>5.9</td>
      <td class=xl9018277>4.5</td>
      <td class=xl11718277>10.4</td>
      <td class=xl9018277>13.8</td>
      <td class=xl9018277>12.2</td>
      <td class=xl11618277>4.8</td>
      <td class=xl11718277>3.6</td>
      <td class=xl9018277>8.8</td>
      <td class=xl9018277>3.1</td>
      <td class=xl11618277>10.9</td>
      <td class=xl11718277>3.3</td>
      <td class=xl11618277 style='border-left:none'>1.8</td>
      <td class=xl11818277>1.4</td>
      <td class=xl8918277>8</td>
      <td class=xl8918277>6</td>
      <td class=xl8918277>11</td>
     </tr>
     <tr height=24 style='mso-height-source:userset;height:18.0pt'>
      <td height=24 class=xl7618277 style='height:18.0pt'>4</td>
      <td class=xl9118277>Brentford</td>
      <td class=xl11918277>6.4</td>
      <td class=xl9318277>4.7</td>
      <td class=xl12018277>11.1</td>
      <td class=xl9318277>14.2</td>
      <td class=xl9318277>9.1</td>
      <td class=xl11918277>4.7</td>
      <td class=xl12018277>2.9</td>
      <td class=xl9318277>9.6</td>
      <td class=xl9318277>3.2</td>
      <td class=xl11918277>11.4</td>
      <td class=xl12018277>3.7</td>
      <td class=xl11918277 style='border-left:none'>2.3</td>
      <td class=xl12118277>1.1</td>
      <td class=xl9218277>9</td>
      <td class=xl9218277>4</td>
      <td class=xl9218277>12</td>
     </tr>
    
    Code (markup):
    That should be something more like:

    
    <table class="allMatches">
    	<thead>
    		<tr>
    			<th scope="col">ALL MATCHES</th>
    			<th scope="col">CF</th>
    			<th scope="col">CA</th>
    			<th scope="col">CT</th>
    			<th scope="col">Sm</th>
    			<th scope="col">Sa</th>
    			<th scope="col">SoTm</th>
    			<th scope="col">SoTa</th>
    			<th scope="col">SSG</th>
    			<th scope="col">SoTSG</th>
    			<th scope="col">SCG</th>
    			<th scope="col">SoTCG</th>
    			<th scope="col">WM</th>
    			<th scope="col">LM</th>
    			<th scope="col">MG1</th>
    			<th scope="col">MGE</th>
    			<th scope="col">MG2</th>
    		</tr>
    	</thead><tbody>
    		<tr>
    			<td>1</td>
    			<th scope="row">Leeds</th>
    			<td>7.4</td>
    			<td>4.3</td>
    			<td>11.7</td>
    			<td>16.3</td>
    			<td>9.1</td>
    			<td>5.3</td>
    			<td>2.8</td>
    			<td>9.7</td>
    			<td>3.1</td>
    			<td>11.4</td>
    			<td>3.5</td>
    			<td>1.7</td>
    			<td>1.0</td>
    			<td>4</td>
    			<td>6</td>
    			<td>15</td>
    		</tr><tr>
    			<td>2</td>
    			<th scope="row">West Brom</th>
    			<td7>5.6</td>
    			<td>5.6</td>
    			<td>11.2</td>
    			<td>13.0</td>
    			<td>12.3</td>
    			<td7>4.4</td>
    			<td>4.4</td>
    			<td>6.9</td>
    			<td>2.4</td>
    			<td7>11.4</td>
    			<td>4.1</td>
    			<td>1.6</td>
    			<td>1.5</td>
    			<td>6</td>
    			<td>6</td>
    			<td>13</td>
    		</tr><tr>
    			<td>3</td>
    			<th scope="row">Fulham</th>
    			<td>5.9</td>
    			<td>4.5</td>
    			<td>10.4</td>
    			<td>13.8</td>
    			<td>12.2</td>
    			<td>4.8</td>
    			<td>3.6</td>
    			<td>8.8</td>
    			<td>3.1</td>
    			<td>10.9</td>
    			<td>3.3</td>
    			<td >1.8</td>
    			<td>1.4</td>
    			<td>8</td>
    			<td>6</td>
    			<td>11</td>
    		</tr><tr>
    			<td>4</td>
    			<th scope="row">Brentford</th>
    			<td7>6.4</td>
    			<td>4.7</td>
    			<td>11.1</td>
    			<td>14.2</td>
    			<td>9.1</td>
    			<td7>4.7</td>
    			<td>2.9</td>
    			<td>9.6</td>
    			<td>3.2</td>
    			<td7>11.4</td>
    			<td>3.7</td>
    			<td7 >2.3</td>
    			<td>1.1</td>
    			<td>9</td>
    			<td>4</td>
    			<td>12</td>
    		</tr>
    		<!-- etc, etc, etc ==>
    
    Code (markup):
    There's a reason NO Microsoft tool should be allowed to generate markup.

    Really though that "free" template is costing you. Free templates are often like a copy of Spike Lee's "School Daze" for free. "Oh it's free? That's alright, I'll pass."
     
    deathshadow, Apr 21, 2020 IP
  3. Saputnik

    Saputnik Active Member

    Messages:
    74
    Likes Received:
    28
    Best Answers:
    0
    Trophy Points:
    80
    #3
    @deathshadow thank you for taking time to look into this issue! I tried this solution you proposed; it gives some results, but it's not functional, so I'm afraid it doesn't resolve the issue.

    If I try to apply overflow:auto to some existing divs around the table, I get unexpected behaviour, as seen in screenshots 1 and 2; obviously, the same div id or class is used for multiple elements on the page; in best case, I get scrollbar at the bottom of the column, screenshot 3, which is not visible untill scrolled to the bottom, below the table, so it's not of much use.

    So I created new div class, and enclosed only the table inside, in which case I get scrollbar in proper place, below the table itself, but again it's not visible untill end of the table is reached, so it's not convenient either.

    That implies that even if there is a solution, i.e., proper div or other element is found to be modified, it may break something else, so it looks like I will have to ditch this template altogether and look elsewhere...

    As for the rest of your mail, I appreciate the time you invested into research and typing; your posts are usually entertaining to read; however, it is completely off the mark. I already replied somewhere to your attitude towards WP, Bootstrap and similar platforms; I'm not willing to argue again, but I really don' understand your negativity towards choices made by other people. One third of internet is powered by WP, I guess one good chunk is powered by Bootstrap as well; I fully agree with you they have their shortcomings, but different people have different aims for their websites, so more than one third of internet obviously finds WP and Bootstrap the state of the art solution to their needs!

    It seems to me you have been around for sufficiently long time to be familar with vBulletin case: back in the time, vB 3 was king of forum software; then vB 4 caused people to look for alternatives, untill it finally sunk down with vB 5. If WP and Bootstrap were really that bad, wouldn't they perish by now as well? Or, if not perish, at least have decent alternative (and by alternative, I don't mean learning to code yourself or paying 5 figures to a developer - those are alternatives that very few internet users can accept!).

    I have been running between 5 and 8 personal, hobby, non-profit sites for last 18 years, I launched my first one in 2002. Several of them, the ones that I update frequently, run on WP, the others run on free html templates similar to this one above. And guess what? They all work perfectly for my needs! Under the hood, the code is probably bloated and messy, but I don't care! As long as site displays what I want it to display and loads in about 2 seconds or less, I don't care if there is semantic perfection in its code. If I run some business site or depended on profit from those sites, then I would have probably cared if I could get an extra bit of loading time or user experience here and there, but at the moment, I don't care.

    I know that Microsoft code is bloated; I started learning html/css with DreamWeaver and FrontPage, and even at that time, I noticed how clumsy was FrontPage compared to DreamWeaver, and I gave it up soon. But look at that table I included in this template, the one you criticized; it looks exactly as I want it to look like, and I don't need server-side code (and 4-digits, or more likely 5-digits, budget that come with hiring a developer for project of that extent, as it is beyond my knowledge (and available spare time, too)) to update the color of third row, if one day I decide I don't like the current color.

    The issue with multiple <html>, <head> and <body> tags caused by inserted Excel .htm file is indeed a flaw, but, oh well, that's the trade-off I'm willing to accept. I agree, there should be only one such a tag per page; if I insert five Excel .htm files in the page, I will have six of those tags on the page... so what?! Will internet police come to catch me? No. (Or at least I hope so). Can I still read the page normally? Yes, I can. Great, that's what I need! Maybe I lose 500 ms in loading time because of that and site appears in 57th page of Google search instead of 47th page, but I don't care.

    For a couple of years, I even had an entire site made in Excel, not tables inserted in pages like here, but entire site, with texts and images. There was one worksheet for each site page, links between the pages, and then I would simply export entire workbook as .htm; in that case, site operates as frameset, with Excel sheet tabs located in bottom frame, with scrollbars; it was dated and ugly even according to my standards, so I would just remove the tabstrip frame, and rest of the site worked as I planned it to work.

    So, whereas you have the right for the most of your elaboration from coding point of view, it is simply one side of the coin. The sooner you learn and accept there is the other side of the coin as well, with completely equal right to exist as your side, the better for you, you'll break free from that hatred towards WP and its cousins that burns your soul. :)
     

    Attached Files:

    Last edited: Apr 21, 2020
    Saputnik, Apr 21, 2020 IP
  4. ZoyaHall

    ZoyaHall Peon

    Messages:
    7
    Likes Received:
    1
    Best Answers:
    0
    Trophy Points:
    1
    #4
    I am studied at the front-end academy, I am very glad the semantics of the code will be carefully explained to the newbe.
    I advise you to burn this code and start all from 0.
    Good luck
     
    ZoyaHall, Apr 21, 2020 IP
  5. Saputnik

    Saputnik Active Member

    Messages:
    74
    Likes Received:
    28
    Best Answers:
    0
    Trophy Points:
    80
    #5
    Thank you for your advice and words of wisdom, that truly resolved my issue! :D Good luck to you, too! :)
     
    Saputnik, Apr 21, 2020 IP
  6. deathshadow

    deathshadow Acclaimed Member

    Messages:
    9,732
    Likes Received:
    1,998
    Best Answers:
    253
    Trophy Points:
    515
    #6
    I come across this attitude so damned often, and to be brutally frank -- When am I anything but? -- the sheer ignorance of what websites are, who they are for, and how to build them required to say such a thing is as astoundingly short-sighted as the derps screaming for society to re-open right now.

    Your broken nonsensical markup can cost you dozens of seconds, not ms. If people can't find you on search, what's the point of even building a site? On the accessibility front you're telling large swaths of potential users to go F*** themselves... but worst of all?

    You're working harder, not smarter. You're making MORE work for yourself, not less. You're making more code to cut-and-paste, more code to try and integrate, invalid code so other people can't help you without throwing it all away and starting over,, and more code to wade through to perform the simplest of tasks. ESPECIALLY invalid or conflicting code where -- as you've discovered -- trying to set much of anything up in terms of style ends up screwing over other things on the page. That problem of not being able to set a damned thing properly without it screwing up something else is PRECISELY why I said junk it and start over.

    That's all any of these systems that ALLEGEDLY make things "easier" do. They make more work, more code, and make everything harder, not simpler, than just using the underlying language properly. That they are media darlings and all the lemmings go running off the cliff with it just bespeaks exceedingly good marketing scam-artistry rooted in bald faced lies, and how easy it is to prey upon the ignorant.

    I mean take JUST your little heading area at the start of the "table that shouldn't be a table". If it were built "properly" not even using a database and just something like JSON...

    
    [
    	"CF" : "Corners for",
    	"SCG" : "Shots to concede a goal"
    	"CA" : "Corners against",
    	"SoTCG" : "Shots on target to concede a goal"
    	// etc, etc, etc
    ]
    Code (markup):
    Then if that was in $englandChampionships in PHP, you could make a template function to output it.

    
    function template_keys($keys) {
    
    	echo '
    		<dl>';
    		
    	foreach ($keys as $key => $desc) echo '
    			<dt>', $key, '</dt>
    			<dd>', $desc, '</dd>';
    	
    	echo '
    		</dl>';
    
    } // template_keys
    
    Code (markup):
    You code the appropriate CSS and you're done for life, only ever again having to edit the JSON part.

    Same goes for your ACTUAL tabular data in the section below that. If you exported that area as CSV with the first row being the headings:

    function template_CSVToTable($tableFileName) {
    
    	if (
    		(($handle = fopen($tableFileName)) !== FALSE) &&
    		($row = fgetcsv($handle, 1024)
    	) {
    
    		echo '
    			<div class="csvTable">
    				<table>
    					<thead>
    						<tr>';
    		
    		foreach ($row as $field) echo '
    							<th scope="col">', $field, '</th>';
    
    		echo '
    						</tr>
    					</thead><tbody>';
    					
    		while ($row = fgetcsv($handle, 1024) {
    		
    			if (!is_null($field = array_shift($row))) {
    		
    				$i = 0;
    			
    				echo '
    						<tr>
    							<td>', $i++, '</td>';
    							<th scope="col">', $field, '</th>';
    							
    				while (!is_null($field = array_shift($row))) echo '
    							<td>', $field, '</td>';
    				
    				echo '
    						</tr>';
    						
    			}
    						
    		}
    		
    		echo '
    					</tbody>
    				</table>
    			<!-- .csvTable--></div>';
    			
    	} else echo '
    			<p class="csvInvalid">
    				File "', $tableFileName, '" is either empty, invalid, or does not exits.
    			</p>';
    	}
    	
    } // template_CSVToTable
    Code (markup):
    EVERYTHING else being done there going in the stylesheet -- stylesheets that have ZERO damned business being in the BODY.

    
    .csvTable {
    	overflow:auto;
    }
    
    .csvTable table {
    	border-collapse:collapse;
    	min-width:100%;
    }
    
    .csvTable th,
    .csvTable td {
    	padding:0.25em 0.5em;
    }
    
    .csvTable th,
    .csvTable tbody td:first-child {
    	font-weight:bold;
    }
    
    .csvTable thead th {
    	background:#048;
    	color:#FFF;
    }
    
    .csvTable tbody th,
    .csvTable tbody td {
    	background:#FFF;
    	color:#048;
    }
    
    .csvTable tbody tr:nth-child(even) th,
    .csvTable tbody tr:nth-child(even) td {
    	background:#BDF;
    }
    
    .csvTable td:nth-child(3),
    .csvTable td:nth-child(6),
    .csvTable td:nth-child(8),
    .csvTable td:nth-child(10),
    .csvTable td:nth-child(12),
    .csvTable td:nth-child(14),
    .csvTable td:nth-child(16) {
    	border-left:1px solid #8AC;
    }
    
    Code (markup):
    Which of these is going to be easier and simpler to maintain in the long run? The one that's outputting the proper accessible semantics where your layout is applied automatically to the data so you don't have to micro-manage that in excel, where you only need 719 bytes to provide the same appearance on the first table, and around 480 bytes for each table with different colouration?

    But no, you are having it spew out 33k of CSS for each and every blasted table! -- which is precisely what's biting you in trying to control these things.

    Don't let Microsoft Excel try to generate markup. It's a damned good tool for data manipulation, but letting pretty much anything Microsoft generate markup is bending yourself over the table so M$ can ask you to squeal like a pig. Wading through 47.5 times the CSS needed and twice the markup PER TABLE is why a lot of people are going to look at this mess and go "this is why we can't help you".

    STOP making lame excuses for screwing yourself over, STOP wasting time learning garbage that's HARDER to work with than just doing it with the underlying languages, and you'll STOP having problems like this.

    THAT'S what's so infuriating about all these derpy "shortcuts", you end up lost in the woods and never reaching the goal... and those who claim this ignorant, incompetent, inept TRASH is somehow "easier" is flapping their arse-cheeks in the wind.
     
    deathshadow, Apr 21, 2020 IP
  7. Saputnik

    Saputnik Active Member

    Messages:
    74
    Likes Received:
    28
    Best Answers:
    0
    Trophy Points:
    80
    #7
    Well, thank you for further dissection of this template, which actually does not answer the initial question that brought me here. Unfortunatelly, we will obviously have to agree that we disagree! :)

    You actually exaggerate; according to fastorslow.com, just checked, this site loads in between 1 and 3 seconds for majority of locations; link to report here (link available for next 3 months).

    This site, oxeas.com, is just example where I uploaded the template to get help here, it is not actual site, you see all that Lorem Ipsum text all over. In production site, I actually use the method you describe, although not with JSON, but with php include statements; all elements of the site, such as header, navigation, main content, etc., and contents of <head> and <scripts> sections, they are all saved as separate files and included wherever needed. There is no copy/paste at all, as you suggest, but only update of Excel file.

    Unfortunatelly, the fact that you have your own opinion what websites are, who they are for, and how to build them, doesn't make that opinion mandatory for everyone on the globe. You will have to live with fact that vast majority of internet audience does not share your opinion. :)
     
    Saputnik, Apr 21, 2020 IP