|
Whilst I don't disagree with you re:CSS, in that example you've given it could be easily achieved using JS / jQuery.
It's simply a case of picking the right language for the job.
Of course as others have picked up on, doing that might cause all sorts of strange behavior once you start looking at the various sizes of screens your page may show up on, from 1 inch watches to 100 inch projectors. You just can not be sure of the scale your user will be using.
|
|
|
|
|
Agreed, it's a PITA and those that have mastered it are deep into the dark arts.
|
|
|
|
|
bjoernen wrote: by writing simple math formulas into the CSS Like this[^], you mean? The calc() functions in CSS are useful, potentially (though I've not used them myself) but they don't directly include the ability to refer to other elements. However you can refer to CSS custom variables which may give you the flexibility you want. But hey, all this is just adding more bloat, and making it harder to learn (and test for cross-browser compliance). The trouble is, the features you want are not the same as the features someone else wants - and pleasing everyone is what leads to bloat in the first place.
|
|
|
|
|
It's a language by committee. And a committee made up of teams that are actively competing with each other. Read this discussion on CSS4[^]. They actually, deliberately, don't want to increment the CSS version anymore. That's like macOS stopping at version 10 (...but instead is 10.1, 10.2 etc), and Windows 10 stopping at 10. Or 10 20H1, 20H2...)
I think the hardest part of CSS is the "C" - the cascading, which relies on Specificity. It's super logical and very well defined. And an utter nightmare as soon as you step off the beaten track. Switch elements around, decide you need some special formatting, try and generalise it, and boom!
Still - it does at least attempt to encourage a separation of layout and style. Except the CSS defines the layout
cheers
Chris Maunder
|
|
|
|
|
Chris Maunder wrote: that's like macOS stopping at version 10 (...but instead is 10.1, 10.2 etc), and Windows 10 stopping at 10. Or 10 20H1, 20H2...)
. . . . perchance to dream . . . .
Ravings en masse^ |
---|
"The difference between genius and stupidity is that genius has its limits." - Albert Einstein | "If you are searching for perfection in others, then you seek disappointment. If you seek perfection in yourself, then you will find failure." - Balboos HaGadol Mar 2010 |
|
|
|
|
|
Yea I wish CSS was only about style, and layout was handled in a different way. I think it is possible to keep the core layout engine of the current browsers, and create a kind of scripting language they can run, so the developer can interact with the layout procedure. These ideas have been proposed before, so I can't understand why we still have CSS today. I was cursing HTML layout 15 years ago, and couldn't imagine we would still be doing things the same way today.
Some developments in this space have been amazing, but HTML/CSS/JS has really been a disappointment. There is still not a practical way to write C# and run it in the browser, just promises of WASM and compilers that never hit mainstream.
Bjorn
|
|
|
|
|
bjoernen wrote: compilers that never hit mainstream
You've not looked at Blazor[^]?
cheers
Chris Maunder
|
|
|
|
|
The fascination of presentation over content.
It was only in wine that he laid down no limit for himself, but he did not allow himself to be confused by it.
― Confucian Analects: Rules of Confucius about his food
|
|
|
|
|
"The medium is the message"
"Time flies like an arrow. Fruit flies like a banana."
|
|
|
|
|
I'm a simple man. I see CSS hate, I upvote.
|
|
|
|
|
|
I actually gave that on a mug to a designer, it's his favorite mug
|
|
|
|
|
CSS is not a language, it is markup.
Bastard Programmer from Hell
"If you just follow the bacon Eddy, wherever it leads you, then you won't have to think about politics." -- Some Bell.
|
|
|
|
|
They have started to add programmatic elements to it and it won't be long before there will be a full blown css scripting language based on COBOL - because for reasons that are unclear to me the entire community is committed to making things as complex/multi-layered/obtuse as possible.
Whatever you do on a webpage you must never just put an input element on the form - it must have a template that references other templates and style sheets that must be run through SASS and dozens of other utilities/mods/nightmares - all to collect a first and last name from a customer.
I swear to Judas that some developers go into a project seeking to add as much complexity as possible.
|
|
|
|
|
|
separation of content and style, that's what they say when they teach little kids about css
the next logical step it was
i never new what hit me, that was around 98. i discovered it was css when every page broke on every browser. it was said that browsers were guilty of not heaving decent support for it. for me it was the other way around, so i never looked at css
whenever i see it embedded in html i just skip that part
|
|
|
|
|
That's why we have LESS and SASS, both able to do what you and I want.
Personally, I still prefer using tables for layout, because it doesn't move elements around in odd places, as floating divs often do, but I am trying to get used to it, because it can make it easier to have one page for all sizes of screens.
|
|
|
|
|
Like you, I have worked in our profession for a very long time, retiring in 2014 after 42+ years in this career. Its not that I had gotten fed up working with the technologies. I simply couldn't stand the arrogant incompetents any longer. So I believe I know where you may be coming from.
However, I think you may be confusing the way CSS should be used and the way it has been abused.
CSS is very good for simply making generic styles for a variety of HTML interfaces given its object-like nature for such definitions.
However, like all software tools, its creators and users\developers seem to have to always extend their tools to death implementing ambiguity after ambiguity until people eventually react to all the bloat as you have with CSS.
The problem with all software today is that both vendors and developers simply can't desist from creating and\or using every possibility any single language and\or framework is capable of or provides.
Look at the recent "innovations" with the Microsoft frameworks. Do we really have to give up the standard framework implementations to create a quality application? Not really. Its just that Microsoft can't seem to leave well enough alone with what it already has.
And if it wanted to refine the existing tools, fine, but why go and create an entirely new framework infrastructure leaving everyone to have to consider yet again another conversion?
Its not as if many developers are really going to see any substantial improvement in efficiency and performance with the new frameworks while being forced to abandon the older ones. And if they do, they have already given up something to gain either. In the end, it is always a zero-sum game.
The problems you legitimately see with CSS are merely an outgrowth of an industry that has already passed its development zenith and now has no idea what to do with itself...
Steve Naidamast
Sr. Software Engineer
Black Falcon Software, Inc.
blackfalconsoftware@outlook.com
|
|
|
|
|
I'm not up to your 42+ years yet, only at 22+. there are days where I feel the industry is changing too fast for no apparent gain, but a lot more bloat. Not much chance of mastering a language anymore before it's replaced, or 'updated'.
although I agree partially with the original poster, I feel the responsibility for the odd behaviors of CSS lie in the browser engines not standardizing how it's implemented. like I can build something that looks great on Chrome, Firefox, and Android, but totally breaks on iOS products. (I'm not counting IE anymore it's gone, and new Edge is chrome underneath).
|
|
|
|
|
I stopped enjoying web development basically after ASP.NET MVC was increasingly adopted, though I worked on one of the largest ASP.NET MVC projects at the time in the US (2010). With the exception of this one consulting assignment, I nonetheless, stayed with WebForms until I retired.
I simply could not understand the need to create such a new framework, (though the actual MVC technology was designed in the 1970s) with its massive increase in complexity.
I understood the limitations of WebForms but found that if implemented properly offered a better structure for compartmentalization where MVC took such compartmentalization to an extreme. I also had an engineering book written by a former Silicon Valley internals engineer who demonstrated that despite its pilloried reputation, WebForms could easily deliver lightening fast performance if configured properly against the hardware being used along with the proper configurations under IIS.
But everyone wanted to play with the new toys...
Now what do we have? A categorical mess of tools and environments for the web that are all basically predicated on JavaScript, HTML, and CSS (with JavaScript being one of the worst languages ever created for the web), bloated out front-ends as the era of the thin-client was forgotten, and increases in defects as teams rush to get their developments into production with their new fangled techniques of development (ie: Agile, DevOps, DevSecOps, and god only knows what else).
I imagine this turn of events came, in part, from the new theory on economics, which is supposed to provide an increasing amount of choices to the customer, when in reality good economic theory should provide an equitable balance.
But with the world of the "MeToo" faithful, everyone is casting their lots with all these new techniques and technologies with the hopes that maybe they too will hit something to help make them some extra monies.
I still do my own development with WPF and a game development engine but I do not see a good future for our field in the long term with such present trends. I see things only getting worse as software development becomes as much a bloated mess as US society has become...
Steve Naidamast
Sr. Software Engineer
Black Falcon Software, Inc.
blackfalconsoftware@outlook.com
|
|
|
|
|
CSS can be frustrating at times. without the integrated debug tools in browsers to modify element styles and see the instant results or dig down into the layout, web development would be so much more painful.
|
|
|
|
|
What bugs me is how unintuitive CSS is - simple rational commands have irrational behavior. Personally I like web pages that are simple and content-driven, without too many frills, bells and whistles - like they used to be! I often despair at the state of web technology - what should be a simple task of laying out information on a screen can become 'black magic' as you say. It's bizarre that we have arrived at this state of affairs.
|
|
|
|
|
Maybe a bit easy, but...
Wish 2020 never started (5)
It goes without saying
|
|
|
|
|
BEGUN? As in "sounds like 'be gone!'"
"I have no idea what I did, but I'm taking full credit for it." - ThisOldTony
"Common sense is so rare these days, it should be classified as a super power" - Random T-shirt
AntiTwitter: @DalekDave is now a follower!
|
|
|
|
|
No
It goes without saying
|
|
|
|