and IISR’s innovative formulations help address soil pH issues and boost crop yields By www.thehindubusinessline.com Published On :: Mon, 08 Apr 2024 16:08:42 +0530 The formulations, based on granular lime and gypsum, address soil pH issues and deliver beneficial microorganisms Full Article Agri Business
and Global recognition to Gagandeep Kang for research on enteric diseases in children By www.thehindubusinessline.com Published On :: Thu, 11 Apr 2024 21:11:20 +0530 This was part of the Gairdner Foundation’s announcement of its 2024 Canada Gairdner Award winners Full Article Science
and Risks posed by advanced AI models in the wrong hands By www.thehindubusinessline.com Published On :: Fri, 10 May 2024 11:46:28 +0530 AI models can provide information that could help create biological weapons: American intelligence Full Article Science and Technology
and Of diets and weight-loss drugs, India could take a leaf out of Japan’s experience, says author By www.thehindubusinessline.com Published On :: Mon, 13 May 2024 09:04:36 +0530 Obesity has “exploded” around the world, and it’s not because people are lazy or weak-willed - Johann Hari, Author Full Article Science
and “Take us to space and back”: Sunita Williams makes history with NASA’s Boeing Starliner By www.thehindubusinessline.com Published On :: Thu, 06 Jun 2024 09:26:27 +0530 The historic test flight, with fellow astronaut Barry Wilmore, aims to certify Starliner for routine space travel. Full Article Science
and What makes veteran astronauts Sunita Williams and Barry Wilmore ideal for Boeing’s Starliner test flight? By www.thehindubusinessline.com Published On :: Thu, 06 Jun 2024 09:42:33 +0530 Veteran NASA astronauts Sunita Williams and Barry Wilmore, with 500 combined days in space, piloted Boeing’s CST-100 Starliner from Florida, leveraging their extensive experience in spacewalks and ISS command. Full Article Science
and Join the space journey: SERA and Blue Origin offer space flight for Indian citizens By www.thehindubusinessline.com Published On :: Mon, 01 Jul 2024 19:42:47 +0530 SERA’s mission is to democratise space access and empower global participation in space exploration Full Article Science
and Indian astrophysicist Prahlad Chandra Agrawal honoured with COSPAR Harrie Massey Award 2024 By www.thehindubusinessline.com Published On :: Thu, 18 Jul 2024 16:32:34 +0530 Prahlad Chandra Agrawal is the first Indian recipient of this award, which recognizes outstanding contributions to the development of space research, particularly those in a leadership role. Full Article Science
and It is time to manufacture and launch SSLV for commercial purposes, ISRO Chairman By www.thehindubusinessline.com Published On :: Fri, 16 Aug 2024 15:54:34 +0530 SSLV was designed with the industry in mind, he said Full Article Science
and Helium’s role in space missions: Challenges and alternatives By www.thehindubusinessline.com Published On :: Sat, 07 Sep 2024 18:35:07 +0530 This story discusses the reasons why helium is used in spacecraft and rockets, how it is prone to leaks, and the potential alternatives being explored Full Article Science
and Boeing’s Starliner lands empty as astronauts stay behind on ISS By www.thehindubusinessline.com Published On :: Sat, 07 Sep 2024 18:45:31 +0530 Despite the successful landing, two test pilots, Butch Wilmore and Sunita Williams, will remain in space until next year due to NASA’s safety concerns. Full Article Science
and Stuck-in-space astronauts reflect on being left behind and adjusting to life in orbit By www.thehindubusinessline.com Published On :: Sat, 14 Sep 2024 08:53:04 +0530 The astronauts stuck in space say it was hard to see their Boeing capsule leave without them Full Article Science
and Chandrayaan-3 landed on possibly oldest craters of Moon: Scientists By www.thehindubusinessline.com Published On :: Sun, 29 Sep 2024 10:22:39 +0530 A crater is formed when an asteroid crashes into the surface of a larger body like a planet or a Moon. Full Article Science
and AI pioneers John Hopfield and Geoffrey Hinton awarded Nobel Prize in Physics By www.thehindubusinessline.com Published On :: Tue, 08 Oct 2024 22:31:31 +0530 Hinton, often referred to as the “Godfather of artificial intelligence,” alongside Hopfield, an American scientist working at Princeton, have utilised principles from physics to create algorithms and neural networks that underpin today’s AI technologies Full Article Science
and ShakthiSAT mission to train 12,000 girls from 108 nations; aims satellite launch under Chandrayaan-4 By www.thehindubusinessline.com Published On :: Sun, 13 Oct 2024 15:37:43 +0530 Aerospace startup Space Kidz India to select one student from each of the 108 participating countries who will travel to India for hands-on training in building payloads, spacecraft prototypes Full Article Science
and What are solid-fuel missiles, and why is North Korea developing them? By www.thehindubusinessline.com Published On :: Thu, 31 Oct 2024 12:53:10 +0530 Solid-fuel missiles, easier to store and faster to launch than liquid-fuel counterparts, represent a strategic leap for Pyongyang’s defence capabilities Full Article Science
and IndusInd, Bandhan, RBL, IDFC First, Kotak, Ujjivan et al. - Dissecting the MFI worry By www.thehindubusinessline.com Published On :: Sat, 02 Nov 2024 17:48:33 +0530 Many private banks have been hit by the turbulent MFI segment. Read on to know what has caused this distress and how investors should play this space safely Full Article Big Story
and Bandu’s Blockbusters for Nov 3, 2024 By www.thehindubusinessline.com Published On :: Sat, 02 Nov 2024 18:02:35 +0530 Guess the stock that will give the best return by next Friday Full Article Technical Analysis
and Stock to buy today: J.B. Chemicals and Pharmaceuticals (₹1,961.80): BUY By www.thehindubusinessline.com Published On :: Mon, 04 Nov 2024 06:30:00 +0530 J.B. Chemicals and Pharmaceuticals share price can rise to ₹2,100 Full Article Technical Analysis
and Nifty Prediction Today – November 04, 2024: Bearish. Go short now and on a rise By www.thehindubusinessline.com Published On :: Mon, 04 Nov 2024 10:32:45 +0530 Nifty 50 November Futures contract can fall to 23,950 and 23,800 Full Article Technical Analysis
and F&O Query: Should you hold call options on Reliance Industries and ICICI Bank? By www.thehindubusinessline.com Published On :: Mon, 04 Nov 2024 13:30:44 +0530 Full Article Derivatives
and F&O Query: Should you hold call options on Infosys and Voltas? By www.thehindubusinessline.com Published On :: Tue, 05 Nov 2024 14:41:25 +0530 Full Article Derivatives
and Ayushman Bharat senior citizen health insurance: Benefits and enrolment details By www.thehindubusinessline.com Published On :: Fri, 08 Nov 2024 17:27:15 +0530 The Ayushman Bharat scheme offers ₹5 lakh health coverage for seniors 70+, free and with easy Aadhaar-based enrollment Full Article Personal Finance
and Bandu’s Blockbusters for Nov 10, 2024 By www.thehindubusinessline.com Published On :: Sat, 09 Nov 2024 18:41:19 +0530 Guess the stock that will give the best return by next Friday Full Article Technical Analysis
and Tech Query: What is the outlook for TVS Holdings, Gujarat State Fertilizers & Chemicals (GSFC), Ideaforge Technology and Niyogin Fintech? By www.thehindubusinessline.com Published On :: Sat, 09 Nov 2024 18:43:09 +0530 We zoom in on the prospects of TVS Holdings, as also the prospects of three other stocks — Gujarat State Fertilizers & Chemicals (GSFC), Ideaforge Technology and Niyogin Fintech Full Article Technical Analysis
and Trump, tariffs and tax cuts – Can they power the US stock markets ahead? By www.thehindubusinessline.com Published On :: Sat, 09 Nov 2024 20:42:45 +0530 As Trump 2.0 gets set to take control, the US markets are a play of opposing factors Full Article Big Story
and fit-content and fit-content() By www.quirksmode.org Published On :: Thu, 29 Apr 2021 13:28:45 +0100 Today we will look at fit-content and fit-content(), which are special values for width and grid definitions. It’s ... complicated — not as a concept, but in its practical application. min- and max-content Before looking at fit-content we have to briefly review two other special width values: min-content and max-content. You need those in order to understand fit-content. Normally (i.e. with width: auto defined or implied) a box will take as much horizontal space as it can. You can change the horizontal space by giving width a specifc value, but you can also order the browser to determine it from the box’s contents. That’s what min-content and max-content do. Try them below. min-content and max-content width: auto: as much as possible width: max-content width: min-content width: max-content with a long text that runs the danger of disappearing right out of the browser window if it continues for much longer min-content means: the minimal width the box needs to contain its contents. In practice this means that browsers see which bit of content is widest and set the width of the box to that value. The widest bit of content is the longest word in a text, or the widest image or video or other asset. max-content means: the width the box needs to contain all of its contents. In the case of text this means that all text is placed on one line and the box becomes as wide as necessary to contain that entire line. In general this is not a desirable effect. The largest bit of content may also be an image or video other asset; in that case browsers use this width to determine the box’s width. If you use hyphens: auto or something similar, the browser will break the words at the correct hyphenation points before determining the minimal width. (I turned off hyphenation in the examples.) Quick Chromia/Android rabbit hole All Chromium-based browsers on Android (tested in Chrome (v90), Samsung Internet (v87), and Edge (v77)) break off the 'width: max-content' text in the example above at the dash, and thus take the 'width: max-' as the max-content, provided the page does NOT have a meta viewport. No other browser does this — and that includes Chrome on Mac. Also, Chromia on Android make the font-size a tad smaller when you resize the boxes below the maximum possible width. I will ignore both bugs because this article is about fit-content, and not about these rabbit holes. These bugs do NOT occur in UC (based on Chromium 78). Seems UC is taking its own decisions here, and is impervious to these particular bugs. fit-content Now that we understand these values we also understand fit-content. It is essentially a shorthand for the following: box { width: auto; min-width: min-content; max-width: max-content; } Thus the box sizes with its containing box, but to a minimum of min-content and to a maximum of max-content. fit-content as width, min-width, and max-width width: fit-content: trying to find my fit min-width: fit-content max-width: fit-content I’m not sure if this effect is useful outside a grid or flexbox context, but it’s here if you need it. fit-content as min- or max-width You can also use fit-content as a min-width or max-width value; see the example above. The first means that the width of the box varies between min-content and auto, while the second means it varies between 0 and max-content. I find this fairly useless and potentially confusing. What you really mean is min-width: min-content or max-width: max-content. If that’s what you mean, say so. Your CSS will be clearer if you do. So I believe that it would be better not to use fit-content for min-width or max-width; but only for width. -moz- Unfortunately, while fit-content works in all other browsers, Firefox still needs a vendor prefix. So the final code becomes: box { width: -moz-fit-content; width: fit-content; } (These prefixes get harder and harder to defend as time goes by. fit-content has perfectly fine cross-browser support, so I don’t see why Firefox doesn’t just go over to the regular variant.) fit-content in flexbox and grid: nope fit-content does not work in flexbox and grid. In the example below the centre box has width: fit-content; it does not work. If it worked the middle box would have a width of max-content; i.e. as small as it needs to be to contain its text. Flexbox with fit-content Test content fit-content Test content The final example on this page has a test where you can see grid doesn’t understand this keyword, either. Note that grid and flex items have min-width: min-content by default, as you can see in the example above. fit-content() Let’s go to the more complex part: fit-content(). Although it’s supposed to work for a normal width, it doesn’t. fit-content and fit-content() as width width: fit-content: trying to find my fit width: fit-content(200px) Grid You can use fit-content(value) in grid templates, like: 1fr fit-content(200px) 1fr Grid with fit-content(200px) Test content fit-content(200px) Test content It means 1fr min(max-content-size, max(min-content, 200px)) 1fr The max() argument becomes min-content or 200 pixels, whichever is larger. This is then compared to the maximum content size, which is the actual width available due to the constraints of the grid, but with a maximum of max-content. So the real formula is more like this one, where available-size is the available width in the grid: 1fr min(min(max-content,available-size), max(min-content, 200px)) 1fr Some syntactic notes: We’re talking fit-content() the function here. fit-content the keyword does not work in grid definitions. Here Firefox does not need -moz-. Go figure. fit-content() needs an argument; an empty function does not work. Also, an argument in fr units is invalid. MDN mentions a value fit-content(stretch). It does not work anywhere, and isn’t referred to anywhere else. I assume it comes from an older version of the spec. I tested most of these things in the following example, where you can also try the bits of syntax that do not work — maybe they’ll start working later. And that’s fit-content and fit-content() for you. It’s useful in some situations. Below you can play around with fit-content() in a grid. Grid with controls Set grid-template-columns: to Test content fit-content() with some more text show extra text Full Article CSS for JavaScripters
and aspect-ratio and grid By www.quirksmode.org Published On :: Tue, 11 May 2021 13:42:23 +0100 I’m currently investigating the new aspect-ratio declaration and plan to write an article about it. However, I got stuck on aspect ratios in a grid context. Chrome/Safari and Firefox do something different here, and I understand neither approach. So I hope I can get some help. aspect-ratio is currently supported by Chrome 90, by Firefox 88 with the correct flag enabled, and by Safari Technology Preview. I tested mostly in the first two — for complicated reasons I cannot install STP right now, but a kind Twitter follower sent me a few screenshots. It behaves as Chrome. First, a general remark. aspect-ratio is intentionally a fairly weak declaration. It gives way if other constraints on boxes make the requested aspect ratio impossible. Take this example: .my-box { width: 100px; height: 50px; aspect-ratio: 16/9; } The box has a fixed width and height, and they overrule the aspect-ratio. The box will thus have a 2/1 aspect ratio, as dictated by its width and height, and not a 16/9 one. Flexbox With that in mind, let’s first look at aspect-ratio in a flexbox environment. I think I understand what’s going on here, and the browsers all do the same, so this is a good reference point for the grid problems we’ll encounter later. Flex items take their width from the flexbox environment. In my example they have a flex-basis: 30%, but they could also have a width or even no width/flex-basis definition at all. In all cases the flexbox algorithm decides on the width of each item. Once the width has been determined, it’s time for the height. Let’s assume it’s not set. In flexbox, height: auto means not “as high as you need to be for your content” but “as high as the highest box in your row.” That is, naturally flexbox would give the boxes an equal width (because that’s what my flex declarations say) and an equal height (because that always happens in flexbox). Apparently, this counts as a set height for the aspect-ratio algorithm. As a result the 16/9 value is ignored because the 4/3 results in a larger height, and this value is therefore the one that determines the height of the entire row. As you see, the third box in this example does have the correct aspect ratio. That’s because it has an explicit height: min-content: set your height to whatever your content needs, and, more importantly, ignore the row height of the flex box. This, apparently, gives the aspect ratio algorithm the opening it needs to set the height to the one requested by the aspect-ratio: 16/9. I’m not sure if my reasoning is right. I am very certain that this works in all browsers, though, so you can use height: min-content in production straight away. (max-content also works. There’s no real difference between the two in height declarations.) flex aspect-ratio and min-content The problem: grid Now we get to the problem: grid. To follow along, please look at the example below in Firefox 88 with the aspect-ratio flag on, and in either Chrome or Safari Technology Preview. I expected grid to more or less behave the same as flexbox: the widths are set by the grid, the heights by the row height, and getting the proper aspect ratio would require height: min-content. That last clause is correct: the min-content trick works as it does in flexbox. It’s the behaviour of th 16/9 box without min-content that surprises me. Here, again, the third box has height: min-content and takes the correct aspect ratio, which means not obeying the row height, in all browsers. grid aspect-ratio and min-content Firefox first. All boxes get their correct aspect ratio and they all have the same width, as the repeat: (3,1fr) grid template dictates. That means their height differs. More importantly, the grid container box now becomes only as high as is necessary to contain the items as they would have been without their aspect ratio. I am 99% certain that the grid container behaviour is a bug. I am less certain whether the aspect-ratio being obeyed is also a bug. In Chrome, the second and third box behave as expected: the last box becomes less high than the row height because of height: min-content, and the second box dictates the row height with its 4/3 aspect ratio. But what’s up with the first box? It appears that it takes the row height as a given, but then sets the width to the value dictated by the 16/9 aspect ratio, ignoring the fact that this box now overflows its proper grid placement. Is this a bug? Or does height count for more than width in a grid context? I don’t know. In the second example all grid items have min-height: 100px. In all browsers they they calculate their width from their aspect ratio. Thus they break the grid-defined widths. This is understandable, given that the explicit height declaration is “stronger” than the implied widths from the grid definition. (Or rather: I devoutly hope I’m right here and not talking nonsense.) grid aspect-ratio and min-height: 100px; Thus maybe Firefox on the one hand and Chrome/Safari on the other are not as far apart as one would think from the first grid example. Still, something is buggy in that example. I just can’t figure out what it is. Stumped. Please help. Full Article CSS for JavaScripters and Custom properties and @property By www.quirksmode.org Published On :: Wed, 21 Jul 2021 14:18:40 +0100 You’re reading a failed article. I hoped to write about @property and how it is useful for extending CSS inheritance considerably in many different circumstances. Alas, I failed. @property turns out to be very useful for font sizes, but does not even approach the general applicability I hoped for. Grandparent-inheriting It all started when I commented on what I thought was an interesting but theoretical idea by Lea Verou: what if elements could inherit the font size of not their parent, but their grandparent? Something like this: div.grandparent { /* font-size could be anything */ } div.parent { font-size: 0.4em; } div.child { font-size: [inherit from grandparent in some sort of way]; font-size: [yes, you could do 2.5em to restore the grandparent's font size]; font-size: [but that's not inheriting, it's just reversing a calculation]; font-size: [and it will not work if the parent's font size is also unknown]; } Lea told me this wasn’t a vague idea, but something that can be done right now. I was quite surprised — and I assume many of my readers are as well — and asked for more information. So she wrote Inherit ancestor font-size, for fun and profit, where she explained how the new Houdini @property can be used to do this. This was seriously cool. Also, I picked up a few interesting bits about how CSS custom properties and Houdini @property work. I decided to explain these tricky bits in simple terms — mostly because I know that by writing an explanation I myself will understand them better — and to suggest other possibilities for using Lea’s idea. Alas, that last objective is where I failed. Lea’s idea can only be used for font sizes. That’s an important use case, but I had hoped for more. The reasons why it doesn’t work elsewhere are instructive, though. Tokens and values Let’s consider CSS custom properties. What if we store the grandparent’s font size in a custom property and use that in the child? div.grandparent { /* font-size could be anything */ --myFontSize: 1em; } div.parent { font-size: 0.4em; } div.child { font-size: var(--myFontSize); /* hey, that's the grandparent's font size, isn't it? */ } This does not work. The child will have the same font size as the parent, and ignore the grandparent. In order to understand why we need to understand how custom properties work. What does this line of CSS do? --myFontSize: 1em; It sets a custom property that we can use later. Well duh. Sure. But what value does this custom property have? ... errr ... 1em? Nope. The answer is: none. That’s why the code example doesn’t work. When they are defined, custom properties do not have a value or a type. All that you ordered the browsers to do is to store a token in the variable --myFontSize. This took me a while to wrap my head around, so let’s go a bit deeper. What is a token? Let’s briefly switch to JavaScript to explain. let myVar = 10; What’s the value of myVar in this line? I do not mean: what value is stored in the variable myVar, but: what value does the character sequence myVar have in that line of code? And what type? Well, none. Duh. It’s not a variable or value, it’s just a token that the JavaScript engine interprets as “allow me to access and change a specific variable” whenever you type it. CSS custom properties also hold such tokens. They do not have any intrinsic meaning. Instead, they acquire meaning when they are interpreted by the CSS engine in a certain context, just as the myVar token is in the JavaScript example. So the CSS custom property contains the token 1em without any value, without any type, without any meaning — as yet. You can use pretty any bunch of characters in a custom property definition. Browsers make no assumptions about their validity or usefulness because they don’t yet know what you want to do with the token. So this, too, is a perfectly fine CSS custom property: --myEgoTrip: ppk; Browsers shrug, create the custom property, and store the indicated token. The fact that ppk is invalid in all CSS contexts is irrelevant: we haven’t tried to use it yet. It’s when you actually use the custom property that values and types are assigned. So let’s use it: background-color: var(--myEgoTrip); Now the CSS parser takes the tokens we defined earlier and replaces the custom property with them: background-color: ppk; And only NOW the tokens are read and intrepreted. In this case that results in an error: ppk is not a valid value for background-color. So the CSS declaration as a whole is invalid and nothing happens — well, technically it gets the unset value, but the net result is the same. The custom property itself is still perfectly valid, though. The same happens in our original code example: div.grandparent { /* font-size could be anything */ --myFontSize: 1em; /* just a token; no value, no meaning */ } div.parent { font-size: 0.4em; } div.child { font-size: var(--myFontSize); /* becomes */ font-size: 1em; /* hey, this is valid CSS! */ /* Right, you obviously want the font size to be the same as the parent's */ /* Sure thing, here you go */ } In div.child he tokens are read and interpreted by the CSS parser. This results in a declaration font-size: 1em;. This is perfectly valid CSS, and the browsers duly note that the font size of this element should be 1em. font-size: 1em is relative. To what? Well, to the parent’s font size, of course. Duh. That’s how CSS font-size works. So now the font size of the child becomes the same as its parent’s, and browsers will proudly display the child element’s text in the same font size as the parent element’s while ignoring the grandparent. This is not what we wanted to achieve, though. We want the grandparent’s font size. Custom properties — by themselves — don’t do what we want. We have to find another solution. @property Lea’s article explains that other solution. We have to use the Houdini @property rule. @property --myFontSize { syntax: "<length>"; initial-value: 0; inherits: true; } div { border: 1px solid; padding: 1em; } div.grandparent { /* font-size could be anything */ --myFontSize: 1em; } div.parent { font-size: 0.4em; } div.child { font-size: var(--myFontSize); } Now it works. Wut? Yep — though only in Chrome so far. This is the grandparent This is the parent This is the child What black magic is this? Adding the @property rule changes the custom property --myFontSize from a bunch of tokens without meaning to an actual value. Moreover, this value is calculated in the context it is defined in — the grandfather — so that the 1em value now means 100% of the font size of the grandfather. When we use it in the child it still has this value, and therefore the child gets the same font size as the grandfather, which is exactly what we want to achieve. (The variable uses a value from the context it’s defined in, and not the context it’s executed in. If, like me, you have a grounding in basic JavaScript you may hear “closures!” in the back of your mind. While they are not the same, and you shouldn’t take this apparent equivalency too far, this notion still helped me understand. Maybe it’ll help you as well.) Unfortunately I do not quite understand what I’m doing here, though I can assure you the code snippet works in Chrome — and will likely work in the other browsers once they support @property. Misson completed — just don’t ask me how. Syntax You have to get the definition right. You need all three lines in the @property rule. See also the specification and the MDN page. @property --myFontSize { syntax: "<length>"; initial-value: 0; inherits: true; } The syntax property tells browsers what kind of property it is and makes parsing it easier. Here is the list of possible values for syntax, and in 99% of the cases one of these values is what you need. You could also create your own syntax, e.g. syntax: "ppk | <length>" Now the ppk keyword and any sort of length is allowed as a value. Note that percentages are not lengths — one of the many things I found out during the writing of this article. Still, they are so common that a special value for “length that may be a percentage or may be calculated using percentages” was created: syntax: "<length-percentage>" Finally, one special case you need to know about is this one: syntax: "*" MDN calls this a universal selector, but it isn’t, really. Instead, it means “I don’t know what syntax we’re going to use” and it tells browsers not to attempt to interpret the custom property. In our case that would be counterproductive: we definitely want the 1em to be interpreted. So our example doesn’t work with syntax: "*". initial-value and inherits An initial-value property is required for any syntax value that is not a *. Here that’s simple: just give it an initial value of 0 — or 16px, or any absolute value. The value doesn’t really matter since we’re going to overrule it anyway. Still, a relative value such as 1em is not allowed: browsers don’t know what the 1em would be relative to and reject it as an initial value. Finally, inherits: true specifies that the custom property value can be inherited. We definitely want the computed 1em value to be inherited by the child — that’s the entire point of this experiment. So we carefully set this flag to true. Other use cases So far this article merely rehashed parts of Lea’s. Since I’m not in the habit of rehashing other people’s articles my original plan was to add at least one other use case. Alas, I failed, though Lea was kind enough to explain why each of my ideas fails. Percentage of what? Could we grandfather-inherit percentual margins and paddings? They are relative to the width of the parent of the element you define them on, and I was wondering if it might be useful to send the grandparent’s margin on to the child just like the font size. Something like this: @property --myMargin { syntax: "<length-percentage>"; initial-value: 0; inherits: true; } div.grandparent { --myMargin: 25%; margin-left: var(--myMargin); } div.parent { font-size: 0.4em; } div.child { margin-left: var(--myMargin); /* should now be 25% of the width of the grandfather's parent */ /* but isn't */ } Alas, this does not work. Browsers cannot resolve the 25% in the context of the grandparent, as they did with the 1em, because they don’t know what to do. The most important trick for using percentages in CSS is to always ask yourself: “percentage of WHAT?” That’s exactly what browsers do when they encounter this @property definition. 25% of what? The parent’s font size? Or the parent’s width? (This is the correct answer, but browsers have no way of knowing that.) Or maybe the width of the element itself, for use in background-position? Since browsers cannot figure out what the percentage is relative to they do nothing: the custom property gets the initial value of 0 and the grandfather-inheritance fails. Colours Another idea I had was using this trick for the grandfather’s text colour. What if we store currentColor, which always has the value of the element’s text colour, and send it on to the grandchild? Something like this: @property --myColor { syntax: "<color>"; initial-value: black; inherits: true; } div.grandparent { /* color unknown */ --myColor: currentColor; } div.parent { color: red; } div.child { color: var(--myColor); /* should now have the same color as the grandfather */ /* but doesn't */ } Alas, this does not work either. When the @property blocks are evaluated, and 1em is calculated, currentColor specifically is not touched because it is used as an initial (default) value for some inherited SVG and CSS properties such as fill. Unfortunately I do not fully understand what’s going on, but Tab says this behaviour is necessary, so it is. Pity, but such is life. Especially when you’re working with new CSS functionalities. Conclusion So I tried to find more possbilities for using Lea’s trick, but failed. Relative units are fairly sparse, especially when you leave percentages out of the equation. em and related units such as rem are the only ones, as far as I can see. So we’re left with a very useful trick for font sizes. You should use it when you need it (bearing in mind that right now it’s only supported in Chromium-based browsers), but extending it to other declarations is not possible at the moment. Many thanks to Lea Verou and Tab Atkins for reviewing and correcting an earlier draft of this article. Full Article CSS for JavaScripters and Prakash Raj on creating ‘Nirdiganta’, an incubation centre for theatre, and getting back on stage By www.thehindu.com Published On :: Fri, 14 Jul 2023 11:55:55 +0530 Actor Prakash Raj says fans will soon get to see him perform live on stage Full Article Metroplus and IISc study reveals that picolinic acid can block viruses causing SARS-CoV-2 and influenza A By www.thehindu.com Published On :: Tue, 18 Jul 2023 13:09:23 +0530 The study describes the compound’s remarkable ability to disrupt the entry of enveloped viruses into the host’s cell and prevent infection Full Article Bangalore and Congress leaders project a united stand from Komatireddy’s luncheon meeting By www.thehindu.com Published On :: Thu, 20 Jul 2023 06:45:45 +0530 Bus yatra and more interactions with people suggested Full Article Telangana and Rana Daggubati’s Spirit Media to launch ‘Hiranyakashyap’ movie, ‘Minnal Murali’ comic and more at San Diego Comic-Con 2023 By www.thehindu.com Published On :: Thu, 20 Jul 2023 12:39:02 +0530 Actor-producer Rana Daggubati’s Spirit Media debuts at San Diego Comic-Con 2023 by announcing the mythological film ‘Hiranyakashyap’ and comic based on the superhero film ‘Minnal Murali’ Full Article Movies and A newly-opened pizzeria brings Kundapuri ghee roast paneer and Kerala chicken roast flavours in pizzas By www.thehindu.com Published On :: Wed, 02 Aug 2023 17:06:51 +0530 Dollops of sherry leek or fresh arugula? Choose your pick from artisanal pizzas and sauces made from scratch at the newly-opened pizzeria Full Article Food and Library rooted in Gandhian principles turns a boon to book lovers in Andhra Pradesh By www.thehindu.com Published On :: Sat, 05 Aug 2023 18:17:12 +0530 Home to over 35,000 books on various subjects, the Sarada Grandhalaya at Anakapalle has been serving society for over eight decades Full Article Visakhapatnam and Chandrayaan-3 gets closer to Moon after fourth orbit reduction manoeuvre By www.thehindu.com Published On :: Mon, 14 Aug 2023 16:04:41 +0530 The manoeuvre was performed from ISRO Telemetry, Tracking and Command Network (ISTRAC) in Bengaluru. The spacecraft is now just 177 km away from the moon. Full Article Science and Tales of food and how it brings people together By www.thehindu.com Published On :: Tue, 22 Aug 2023 16:36:49 +0530 Celebrating the spirit of togetherness, artist students have curated an exhibition titled, ‘Savouring Connections: How Food Brings Us Together’ at Karl and Meherbai Khandalavala Gallery, CSMVS museum Full Article Mumbai and ‘Gandeevadhari Arjuna’ movie review: Slick and well intended, albeit tepidly By www.thehindu.com Published On :: Fri, 25 Aug 2023 17:25:23 +0530 Along with noble intentions, director Praveen Sattaru and actor Varun Tej’s slick Telugu thriller drama ‘Gandeevadhari Arjuna’ needed a smarter script Full Article Movies and Rare handscrolls of artist Benode Behari Mukherjee on show in Kochi By www.thehindu.com Published On :: Mon, 04 Sep 2023 12:51:44 +0530 The exhibition, organised by the Kolkata Centre for Creativity along with the Kerala Lalithakala Akademi and Gallery Rasa, pays tribute to artist Benode Behari Mukherjee, one of the pioneers of Indian modern art Full Article Art and An ongoing trunk show in Coimbatore showcases luxury fashion brands By www.thehindu.com Published On :: Tue, 05 Sep 2023 15:29:24 +0530 Leading design houses from across the country showcase their collections at an ongoing trunk show Full Article Metroplus and Ram Pothineni, Boyapati Sreenu’s ‘Skanda’ gets a new release date By www.thehindu.com Published On :: Wed, 06 Sep 2023 16:34:21 +0530 Director Boyapati Sreenu’s ‘Skanda’ headlined by Ram Pothineni, has opted for a new release date, as the buzz of the postponement of Prashanth Neel’s ‘Salaar’ starring Prabhas grows louder Full Article Movies and Dev Anand @100: Watch ‘C.I.D’, ‘Guide’, ‘Jewel Thief’ and ‘Johny Mera Naam’ on the large screen By www.thehindu.com Published On :: Wed, 13 Sep 2023 15:34:06 +0530 To commemorate the 100th birth anniversary of actor Dev Anand, the NFDC-NFAI and Film Heritage Foundation will facilitate the screening of restored 4k versions of ‘C.I.D’, ‘Guide’, ‘Jewel Thief’ and ‘Johny Mera Naam’ in theatres across 30 cities in India Full Article Movies and Sikkil Gurucharan’s heartfelt tribute to his guru and grandmother Sikkil Neela By www.thehindu.com Published On :: Thu, 21 Sep 2023 17:03:45 +0530 A well-known Carnatic vocalist, Gurucharan shares memories of growing up with his legendary flautist-grandmother, who honed his musical skills Full Article Music and First International Calligraphy Festival of Kerala under way in Kochi is a hit with enthusiasts and fine arts students By www.thehindu.com Published On :: Tue, 03 Oct 2023 19:56:15 +0530 Exhibition serves as an introduction to the potential of the art form which is gaining popularity among young artists in State Full Article Kochi and Srikanth Nagothi: In ‘Month of Madhu’, I have tried to not judge the characters portrayed by Swathi and Naveen Chandra By www.thehindu.com Published On :: Wed, 04 Oct 2023 15:20:08 +0530 Director Srikanth Nagothi holds forth on his Telugu film ‘Month of Madhu’ that features Swathi and Naveen Chandra as a middle-class couple Full Article Movies and New menu of Chettinad Canteen in Coimbatore features kavuni arisi appam, bun parotta and more By www.thehindu.com Published On :: Tue, 12 Dec 2023 16:36:42 +0530 From feather-light ‘kavanarisi appam’ in coconut milk and ‘kuzhi paniyaram’ served with ‘pepper kaadai’ to the classic ‘adi kumayam’ in ice cream, what makes this new menu tick at the Chettinad Canteen Full Article Features and How to pamper the body and mind in Karkidakam month By www.thehindu.com Published On :: Mon, 05 Aug 2024 16:30:09 +0530 As Karkidakam month that falls in the Malayalam calendar during July-August draws to close, it’s a good time to try rejuvenation therapy Full Article Metroplus and Alcohol and Cancer Risk By www.cancer.gov Published On :: 2018-09-17 12:00:00 -0400 A fact sheet that summarizes the evidence linking alcohol consumption to the risk of various cancers. Includes information about factors that affect the risk of alcohol-associated cancers, such as a person’s genes and tobacco use. Full Article and Secondhand Smoke and Cancer By www.cancer.gov Published On :: 2018-12-10 12:00:00 -0500 A fact sheet that summarizes the studies on the health effects of exposure to environmental (secondhand) tobacco smoke. Full Article and Electromagnetic Fields and Cancer By www.cancer.gov Published On :: 2019-01-07 12:00:00 -0500 A fact sheet about research on electric and magnetic fields and studies examining their potential connection with cancer. Full Article «1..2..310668 669 670..926..1234..1542..1850..2158..2466..27743077» Recent Trending The Finish Line: Cast Stone and EIFS The Finish Line: Earthquakes and EIFS The Finish Line: Building Walls in the Land Down Under EPDs, HPDs and Red Lists (Oh My)! Cost-Effective, Energy Efficient Concrete Sandwich Panels The Wait is Over: MarinoWARE’s Brand-New Website is Here NCS Trust ‘sad and disappointed’ at government plans to shut it down SIA Releases New Version of OSDP Standard Graybar Targets Ways to Make Business Strong and Sustainable Vivint Expands Energy Services with Solar FHWA rule updates protections for workers and drivers in work zones Urban Roots Fruit+ and Cantina-Style Salsa New Standards for Real-Life Dough Testing Conagra Brands Announces Sustainable Development Award Winners CBC's Salto brand unveils Unica Subscribe To Our Newsletter
and Custom properties and @property By www.quirksmode.org Published On :: Wed, 21 Jul 2021 14:18:40 +0100 You’re reading a failed article. I hoped to write about @property and how it is useful for extending CSS inheritance considerably in many different circumstances. Alas, I failed. @property turns out to be very useful for font sizes, but does not even approach the general applicability I hoped for. Grandparent-inheriting It all started when I commented on what I thought was an interesting but theoretical idea by Lea Verou: what if elements could inherit the font size of not their parent, but their grandparent? Something like this: div.grandparent { /* font-size could be anything */ } div.parent { font-size: 0.4em; } div.child { font-size: [inherit from grandparent in some sort of way]; font-size: [yes, you could do 2.5em to restore the grandparent's font size]; font-size: [but that's not inheriting, it's just reversing a calculation]; font-size: [and it will not work if the parent's font size is also unknown]; } Lea told me this wasn’t a vague idea, but something that can be done right now. I was quite surprised — and I assume many of my readers are as well — and asked for more information. So she wrote Inherit ancestor font-size, for fun and profit, where she explained how the new Houdini @property can be used to do this. This was seriously cool. Also, I picked up a few interesting bits about how CSS custom properties and Houdini @property work. I decided to explain these tricky bits in simple terms — mostly because I know that by writing an explanation I myself will understand them better — and to suggest other possibilities for using Lea’s idea. Alas, that last objective is where I failed. Lea’s idea can only be used for font sizes. That’s an important use case, but I had hoped for more. The reasons why it doesn’t work elsewhere are instructive, though. Tokens and values Let’s consider CSS custom properties. What if we store the grandparent’s font size in a custom property and use that in the child? div.grandparent { /* font-size could be anything */ --myFontSize: 1em; } div.parent { font-size: 0.4em; } div.child { font-size: var(--myFontSize); /* hey, that's the grandparent's font size, isn't it? */ } This does not work. The child will have the same font size as the parent, and ignore the grandparent. In order to understand why we need to understand how custom properties work. What does this line of CSS do? --myFontSize: 1em; It sets a custom property that we can use later. Well duh. Sure. But what value does this custom property have? ... errr ... 1em? Nope. The answer is: none. That’s why the code example doesn’t work. When they are defined, custom properties do not have a value or a type. All that you ordered the browsers to do is to store a token in the variable --myFontSize. This took me a while to wrap my head around, so let’s go a bit deeper. What is a token? Let’s briefly switch to JavaScript to explain. let myVar = 10; What’s the value of myVar in this line? I do not mean: what value is stored in the variable myVar, but: what value does the character sequence myVar have in that line of code? And what type? Well, none. Duh. It’s not a variable or value, it’s just a token that the JavaScript engine interprets as “allow me to access and change a specific variable” whenever you type it. CSS custom properties also hold such tokens. They do not have any intrinsic meaning. Instead, they acquire meaning when they are interpreted by the CSS engine in a certain context, just as the myVar token is in the JavaScript example. So the CSS custom property contains the token 1em without any value, without any type, without any meaning — as yet. You can use pretty any bunch of characters in a custom property definition. Browsers make no assumptions about their validity or usefulness because they don’t yet know what you want to do with the token. So this, too, is a perfectly fine CSS custom property: --myEgoTrip: ppk; Browsers shrug, create the custom property, and store the indicated token. The fact that ppk is invalid in all CSS contexts is irrelevant: we haven’t tried to use it yet. It’s when you actually use the custom property that values and types are assigned. So let’s use it: background-color: var(--myEgoTrip); Now the CSS parser takes the tokens we defined earlier and replaces the custom property with them: background-color: ppk; And only NOW the tokens are read and intrepreted. In this case that results in an error: ppk is not a valid value for background-color. So the CSS declaration as a whole is invalid and nothing happens — well, technically it gets the unset value, but the net result is the same. The custom property itself is still perfectly valid, though. The same happens in our original code example: div.grandparent { /* font-size could be anything */ --myFontSize: 1em; /* just a token; no value, no meaning */ } div.parent { font-size: 0.4em; } div.child { font-size: var(--myFontSize); /* becomes */ font-size: 1em; /* hey, this is valid CSS! */ /* Right, you obviously want the font size to be the same as the parent's */ /* Sure thing, here you go */ } In div.child he tokens are read and interpreted by the CSS parser. This results in a declaration font-size: 1em;. This is perfectly valid CSS, and the browsers duly note that the font size of this element should be 1em. font-size: 1em is relative. To what? Well, to the parent’s font size, of course. Duh. That’s how CSS font-size works. So now the font size of the child becomes the same as its parent’s, and browsers will proudly display the child element’s text in the same font size as the parent element’s while ignoring the grandparent. This is not what we wanted to achieve, though. We want the grandparent’s font size. Custom properties — by themselves — don’t do what we want. We have to find another solution. @property Lea’s article explains that other solution. We have to use the Houdini @property rule. @property --myFontSize { syntax: "<length>"; initial-value: 0; inherits: true; } div { border: 1px solid; padding: 1em; } div.grandparent { /* font-size could be anything */ --myFontSize: 1em; } div.parent { font-size: 0.4em; } div.child { font-size: var(--myFontSize); } Now it works. Wut? Yep — though only in Chrome so far. This is the grandparent This is the parent This is the child What black magic is this? Adding the @property rule changes the custom property --myFontSize from a bunch of tokens without meaning to an actual value. Moreover, this value is calculated in the context it is defined in — the grandfather — so that the 1em value now means 100% of the font size of the grandfather. When we use it in the child it still has this value, and therefore the child gets the same font size as the grandfather, which is exactly what we want to achieve. (The variable uses a value from the context it’s defined in, and not the context it’s executed in. If, like me, you have a grounding in basic JavaScript you may hear “closures!” in the back of your mind. While they are not the same, and you shouldn’t take this apparent equivalency too far, this notion still helped me understand. Maybe it’ll help you as well.) Unfortunately I do not quite understand what I’m doing here, though I can assure you the code snippet works in Chrome — and will likely work in the other browsers once they support @property. Misson completed — just don’t ask me how. Syntax You have to get the definition right. You need all three lines in the @property rule. See also the specification and the MDN page. @property --myFontSize { syntax: "<length>"; initial-value: 0; inherits: true; } The syntax property tells browsers what kind of property it is and makes parsing it easier. Here is the list of possible values for syntax, and in 99% of the cases one of these values is what you need. You could also create your own syntax, e.g. syntax: "ppk | <length>" Now the ppk keyword and any sort of length is allowed as a value. Note that percentages are not lengths — one of the many things I found out during the writing of this article. Still, they are so common that a special value for “length that may be a percentage or may be calculated using percentages” was created: syntax: "<length-percentage>" Finally, one special case you need to know about is this one: syntax: "*" MDN calls this a universal selector, but it isn’t, really. Instead, it means “I don’t know what syntax we’re going to use” and it tells browsers not to attempt to interpret the custom property. In our case that would be counterproductive: we definitely want the 1em to be interpreted. So our example doesn’t work with syntax: "*". initial-value and inherits An initial-value property is required for any syntax value that is not a *. Here that’s simple: just give it an initial value of 0 — or 16px, or any absolute value. The value doesn’t really matter since we’re going to overrule it anyway. Still, a relative value such as 1em is not allowed: browsers don’t know what the 1em would be relative to and reject it as an initial value. Finally, inherits: true specifies that the custom property value can be inherited. We definitely want the computed 1em value to be inherited by the child — that’s the entire point of this experiment. So we carefully set this flag to true. Other use cases So far this article merely rehashed parts of Lea’s. Since I’m not in the habit of rehashing other people’s articles my original plan was to add at least one other use case. Alas, I failed, though Lea was kind enough to explain why each of my ideas fails. Percentage of what? Could we grandfather-inherit percentual margins and paddings? They are relative to the width of the parent of the element you define them on, and I was wondering if it might be useful to send the grandparent’s margin on to the child just like the font size. Something like this: @property --myMargin { syntax: "<length-percentage>"; initial-value: 0; inherits: true; } div.grandparent { --myMargin: 25%; margin-left: var(--myMargin); } div.parent { font-size: 0.4em; } div.child { margin-left: var(--myMargin); /* should now be 25% of the width of the grandfather's parent */ /* but isn't */ } Alas, this does not work. Browsers cannot resolve the 25% in the context of the grandparent, as they did with the 1em, because they don’t know what to do. The most important trick for using percentages in CSS is to always ask yourself: “percentage of WHAT?” That’s exactly what browsers do when they encounter this @property definition. 25% of what? The parent’s font size? Or the parent’s width? (This is the correct answer, but browsers have no way of knowing that.) Or maybe the width of the element itself, for use in background-position? Since browsers cannot figure out what the percentage is relative to they do nothing: the custom property gets the initial value of 0 and the grandfather-inheritance fails. Colours Another idea I had was using this trick for the grandfather’s text colour. What if we store currentColor, which always has the value of the element’s text colour, and send it on to the grandchild? Something like this: @property --myColor { syntax: "<color>"; initial-value: black; inherits: true; } div.grandparent { /* color unknown */ --myColor: currentColor; } div.parent { color: red; } div.child { color: var(--myColor); /* should now have the same color as the grandfather */ /* but doesn't */ } Alas, this does not work either. When the @property blocks are evaluated, and 1em is calculated, currentColor specifically is not touched because it is used as an initial (default) value for some inherited SVG and CSS properties such as fill. Unfortunately I do not fully understand what’s going on, but Tab says this behaviour is necessary, so it is. Pity, but such is life. Especially when you’re working with new CSS functionalities. Conclusion So I tried to find more possbilities for using Lea’s trick, but failed. Relative units are fairly sparse, especially when you leave percentages out of the equation. em and related units such as rem are the only ones, as far as I can see. So we’re left with a very useful trick for font sizes. You should use it when you need it (bearing in mind that right now it’s only supported in Chromium-based browsers), but extending it to other declarations is not possible at the moment. Many thanks to Lea Verou and Tab Atkins for reviewing and correcting an earlier draft of this article. Full Article CSS for JavaScripters
and Prakash Raj on creating ‘Nirdiganta’, an incubation centre for theatre, and getting back on stage By www.thehindu.com Published On :: Fri, 14 Jul 2023 11:55:55 +0530 Actor Prakash Raj says fans will soon get to see him perform live on stage Full Article Metroplus
and IISc study reveals that picolinic acid can block viruses causing SARS-CoV-2 and influenza A By www.thehindu.com Published On :: Tue, 18 Jul 2023 13:09:23 +0530 The study describes the compound’s remarkable ability to disrupt the entry of enveloped viruses into the host’s cell and prevent infection Full Article Bangalore
and Congress leaders project a united stand from Komatireddy’s luncheon meeting By www.thehindu.com Published On :: Thu, 20 Jul 2023 06:45:45 +0530 Bus yatra and more interactions with people suggested Full Article Telangana
and Rana Daggubati’s Spirit Media to launch ‘Hiranyakashyap’ movie, ‘Minnal Murali’ comic and more at San Diego Comic-Con 2023 By www.thehindu.com Published On :: Thu, 20 Jul 2023 12:39:02 +0530 Actor-producer Rana Daggubati’s Spirit Media debuts at San Diego Comic-Con 2023 by announcing the mythological film ‘Hiranyakashyap’ and comic based on the superhero film ‘Minnal Murali’ Full Article Movies
and A newly-opened pizzeria brings Kundapuri ghee roast paneer and Kerala chicken roast flavours in pizzas By www.thehindu.com Published On :: Wed, 02 Aug 2023 17:06:51 +0530 Dollops of sherry leek or fresh arugula? Choose your pick from artisanal pizzas and sauces made from scratch at the newly-opened pizzeria Full Article Food
and Library rooted in Gandhian principles turns a boon to book lovers in Andhra Pradesh By www.thehindu.com Published On :: Sat, 05 Aug 2023 18:17:12 +0530 Home to over 35,000 books on various subjects, the Sarada Grandhalaya at Anakapalle has been serving society for over eight decades Full Article Visakhapatnam
and Chandrayaan-3 gets closer to Moon after fourth orbit reduction manoeuvre By www.thehindu.com Published On :: Mon, 14 Aug 2023 16:04:41 +0530 The manoeuvre was performed from ISRO Telemetry, Tracking and Command Network (ISTRAC) in Bengaluru. The spacecraft is now just 177 km away from the moon. Full Article Science
and Tales of food and how it brings people together By www.thehindu.com Published On :: Tue, 22 Aug 2023 16:36:49 +0530 Celebrating the spirit of togetherness, artist students have curated an exhibition titled, ‘Savouring Connections: How Food Brings Us Together’ at Karl and Meherbai Khandalavala Gallery, CSMVS museum Full Article Mumbai
and ‘Gandeevadhari Arjuna’ movie review: Slick and well intended, albeit tepidly By www.thehindu.com Published On :: Fri, 25 Aug 2023 17:25:23 +0530 Along with noble intentions, director Praveen Sattaru and actor Varun Tej’s slick Telugu thriller drama ‘Gandeevadhari Arjuna’ needed a smarter script Full Article Movies
and Rare handscrolls of artist Benode Behari Mukherjee on show in Kochi By www.thehindu.com Published On :: Mon, 04 Sep 2023 12:51:44 +0530 The exhibition, organised by the Kolkata Centre for Creativity along with the Kerala Lalithakala Akademi and Gallery Rasa, pays tribute to artist Benode Behari Mukherjee, one of the pioneers of Indian modern art Full Article Art
and An ongoing trunk show in Coimbatore showcases luxury fashion brands By www.thehindu.com Published On :: Tue, 05 Sep 2023 15:29:24 +0530 Leading design houses from across the country showcase their collections at an ongoing trunk show Full Article Metroplus
and Ram Pothineni, Boyapati Sreenu’s ‘Skanda’ gets a new release date By www.thehindu.com Published On :: Wed, 06 Sep 2023 16:34:21 +0530 Director Boyapati Sreenu’s ‘Skanda’ headlined by Ram Pothineni, has opted for a new release date, as the buzz of the postponement of Prashanth Neel’s ‘Salaar’ starring Prabhas grows louder Full Article Movies
and Dev Anand @100: Watch ‘C.I.D’, ‘Guide’, ‘Jewel Thief’ and ‘Johny Mera Naam’ on the large screen By www.thehindu.com Published On :: Wed, 13 Sep 2023 15:34:06 +0530 To commemorate the 100th birth anniversary of actor Dev Anand, the NFDC-NFAI and Film Heritage Foundation will facilitate the screening of restored 4k versions of ‘C.I.D’, ‘Guide’, ‘Jewel Thief’ and ‘Johny Mera Naam’ in theatres across 30 cities in India Full Article Movies
and Sikkil Gurucharan’s heartfelt tribute to his guru and grandmother Sikkil Neela By www.thehindu.com Published On :: Thu, 21 Sep 2023 17:03:45 +0530 A well-known Carnatic vocalist, Gurucharan shares memories of growing up with his legendary flautist-grandmother, who honed his musical skills Full Article Music
and First International Calligraphy Festival of Kerala under way in Kochi is a hit with enthusiasts and fine arts students By www.thehindu.com Published On :: Tue, 03 Oct 2023 19:56:15 +0530 Exhibition serves as an introduction to the potential of the art form which is gaining popularity among young artists in State Full Article Kochi
and Srikanth Nagothi: In ‘Month of Madhu’, I have tried to not judge the characters portrayed by Swathi and Naveen Chandra By www.thehindu.com Published On :: Wed, 04 Oct 2023 15:20:08 +0530 Director Srikanth Nagothi holds forth on his Telugu film ‘Month of Madhu’ that features Swathi and Naveen Chandra as a middle-class couple Full Article Movies
and New menu of Chettinad Canteen in Coimbatore features kavuni arisi appam, bun parotta and more By www.thehindu.com Published On :: Tue, 12 Dec 2023 16:36:42 +0530 From feather-light ‘kavanarisi appam’ in coconut milk and ‘kuzhi paniyaram’ served with ‘pepper kaadai’ to the classic ‘adi kumayam’ in ice cream, what makes this new menu tick at the Chettinad Canteen Full Article Features
and How to pamper the body and mind in Karkidakam month By www.thehindu.com Published On :: Mon, 05 Aug 2024 16:30:09 +0530 As Karkidakam month that falls in the Malayalam calendar during July-August draws to close, it’s a good time to try rejuvenation therapy Full Article Metroplus
and Alcohol and Cancer Risk By www.cancer.gov Published On :: 2018-09-17 12:00:00 -0400 A fact sheet that summarizes the evidence linking alcohol consumption to the risk of various cancers. Includes information about factors that affect the risk of alcohol-associated cancers, such as a person’s genes and tobacco use. Full Article
and Secondhand Smoke and Cancer By www.cancer.gov Published On :: 2018-12-10 12:00:00 -0500 A fact sheet that summarizes the studies on the health effects of exposure to environmental (secondhand) tobacco smoke. Full Article
and Electromagnetic Fields and Cancer By www.cancer.gov Published On :: 2019-01-07 12:00:00 -0500 A fact sheet about research on electric and magnetic fields and studies examining their potential connection with cancer. Full Article