pro

Custom properties and @property

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.



  • CSS for JavaScripters

pro

Congress leaders project a united stand from Komatireddy’s luncheon meeting

Bus yatra and more interactions with people suggested




pro

Big Kannada films fail to keep the promise while fans snub small gems




pro

Scare at Kaddam project as it gets higher flood than discharge

People in 12 villages downstream vacated, shifted to relief camps. Spillway discharge of flood waters begins at Jurala as Almatti, Narayanpur let out water




pro

Man, wife bludgeon mother to death over property row




pro

Pawan Kalyan’s ‘They call him OG’ promises to be a stylish action extravaganza

The teaser of director Sujeeth and Pawan Kalyan’s ‘They call him OG’ reveals an action entertainer set in Mumbai




pro

Zonal misclassification: Government waives ₹240 crore property tax penalty levied by BBMP

Penalty was levied for zonal misclassification while paying property tax online




pro

Hormone Therapy for Prostate Cancer

A fact sheet that describes hormone therapy and its role in treating prostate cancer. Includes information about the different types of hormone therapy, how they are used, and possible side effects.




pro

Gauri Khan shares designs secrets from her latest project, the Falguni Shane Peacock store in Kolkata 

This is the third store that Gauri Khan has designed for FSP, after Mumbai and Hyderabad




pro

Araku Pinery, a new community-based eco-tourism project near Visakhapatnam

Enjoy misty winter mornings with a warm cup of coffee at Araku Pinery, a new eco-tourism project by the AP Forest Department in Anjoda, located at a distance of about 130 kilometres from Visakhapatnam




pro

Ministry of Tourism promotes lesser-known tourist attractions

They include wetlands such as Sultanpur in Haryana, places of mythological significance such as Kurukshetra in Haryana, and cultural heritage sites such as Vijayawada in Andhra Pradesh




pro

Experience a slice of tribal life at Giri Grama Darshini, a tourism project near Visakhapatnam

Get a peek of the adivasi culture at Giri Grama Darshini, a tourism project by ITDA and Pedalabudu Eco Tourism Society




pro

Cabinet approves Phase 3 of Namma Metro

44.65 km of new line will be added to the network by 2028 at a cost of ₹ 15,611 crore




pro

Tourism authorities yet to explore ways to promote ecotourism destinations in Kozhikode

Monsoon tourism packages such as rain walks and guided trips have not been announced for tourists here despite their popularity in ecotourism destinations outside the State.




pro

Explore corals at Havelock island with CGH Earth’s latest property, Tilar Siro

We check into an eco resort set on one of the largest islands in the Andaman chain, famed for its white sand beaches, spectacular sunsets and vibrant marine life. We check into the eco friendly resort to explore Havelock island




pro

Union Budget slashes Bengaluru Suburban Railway Project allocation by ₹100 crore

The Union Budget allocates ₹350 crore for the BSRP, down from last year’s allocation of ₹450 crore




pro

L-G, CM briefed about plans to implement World Bank, ADB aided projects in Puducherry




pro

Police probe finds petrol bunk built on Thirunallar temple land

Fraudulent documents were allegedly used to obtain the licence for the bunk from public sector oil marketing company on Thiruloganathar Swamy temple land




pro

Puducherry District Court upholds eviction proceedings against Cercle de Pondicherry




pro

Govt to provide 10 essential items at a subsidised rate through CONFED in Puducherry




pro

Pondicherry Institute of Medical Sciences team accomplishes globally rare procedure on foetal tumour




pro

Vijay failed to offer any new political thought process, says former Puducherry CM




pro

Protest held against Speaker’s decision to remove legislator from Assembly panel




pro

Govt. provides ₹2 crore to credit societies to compensate for farm loan waiver




pro

Centre approves proposal of Puducherry government to distribute free rice through PDS outlets

The Ministry of Home Affairs has issued certain directions to the territorial administration, such as to ensure bio-metric authentication of beneficiaries, transparency in selection of agency involved in supply of essentials, quality of items supplied, and proper mechanism to avoid pilferage during distribution of food grains




pro

Puducherry has submitted project report to Centre seeking nod for availing ₹4,750 crore loan from Asian Development Bank: CM




pro

AIADMK protest against non-distribution of free rice, sugar

AIADMK secretary A. Anbalagan and former MLA A. Baskar led the demonstration against the govt.’s ‘failure’ to supply free rice and sugar as promised; the former alleged that only beneficiaries in constituencies of those in power received the gift




pro

Project to develop Thengaithittu harbour launched




pro

Admission panel publishes provisional allotment list for professional courses




pro

Measures to improve traffic situation in Puducherry discussed at an inter-departmental meeting

The need to introduce paid two-wheeler parking system on Jawaharlal Nehru Street, White Town, and issues pertaining to road improvement in Puducherry were discussed.




pro

Hindu Munnani workers stage protest over encroachment of govt. land by a religious group




pro

VCK urges government to ensure appropriate utilisation of SCP fund




pro

Congress demands CBI probe into temple land forgery case in Karaikal

After the Kamatchiamman Temple land grabbing case in Puducherry region, the incident of Sri Parvatheeswarar Swamy Devasthanam land forgery case has emerged in Karaikal region, says MP and PCC chief V. Vaithilingam.




pro

Traders protest seeking action against anti-social element for threatening Independent MLA in Puducherry

Traders submit a memorandum to the Lieutenant Governor, Chief Minister and Director General of Police seeking stern action against Ramu, a resident of Thilaspet




pro

Unlock Your Earning Potential with the Treehouse Affiliate Program

At Treehouse, our students have always been at the heart of everything we do. By committing to the highest standards of educational content, we’ve grown organically, fueled by the enthusiastic word-of-mouth recommendations from our wonderful learners. These learners haven’t just...

The post Unlock Your Earning Potential with the Treehouse Affiliate Program appeared first on Treehouse Blog.




pro

Discover Paul Éluard and Max Ernst’s Still-Bizarre Proto-Surrealist Book Les Malheurs des immortels (1922)

When the names of French poet Paul Éluard and German artist Max Ernst arise, one subject always follows: that of their years-long ménage à trois — or rather, “marriage à trois,” as a New York Times article by Annette Grant once put it. It started in 1921, Grant writes, when the Surrealist movement’s co-founder André Breton put […]




pro

Enhanced magnetic properties and spin–phonon coupling in Ni-substituted α-Cu2V2O7: the role of bond length, bond angles, and distorted polyhedral structures

J. Mater. Chem. C, 2024, 12,17519-17532
DOI: 10.1039/D4TC02838D, Paper
A. Das, A. Banerjee, A. Tayal, S. Bandyopadhyay
Ni-Doped Cu2V2O7 exhibits enhanced magnetic hysteresis, zero-field exchange bias, and strong spin–phonon coupling, making it a promising candidate for spintronics applications.
The content of this RSS Feed (c) The Royal Society of Chemistry




pro

(C2H10N2)[Zn2(HPO4)2Cl2]: substitution-activated new short-wave ultraviolet phosphate with pivotal dual-property enhancement

J. Mater. Chem. C, 2024, 12,17482-17489
DOI: 10.1039/D4TC03504F, Paper
Zhi Fang, Yu-Ming Pan, Pei Han, Bing-Ping Yang, Mei-Hong Duan
A substitution-oriented rational approach to a short-wave ultraviolet phosphate, (C2H10N2)[Zn2(HPO4)2Cl2], results in significant dual-property enhancement.
The content of this RSS Feed (c) The Royal Society of Chemistry




pro

Cuprous-based layered single-crystalline scintillators for X-ray detection and imaging

J. Mater. Chem. C, 2024, 12,17587-17594
DOI: 10.1039/D4TC03080J, Paper
Yuke Zhao, Danping Chen, Haitao Tang, Hailin Liu, Yong Liu, Yangyang Dang, Qianqian Lin
A new metal halide single crystal (C6H10N2)2Cu2I3(PO2)3 was demonstrated. The optical and X-ray properties of (C6H10N2)2Cu2I3(PO2)3 were fully characterized and evaluated, which demonstrated great potential for X-ray detection and imaging.
The content of this RSS Feed (c) The Royal Society of Chemistry




pro

Modulation of photophysical properties in o-carborane derivatives and their application in white organic light-emitting diode devices

J. Mater. Chem. C, 2024, 12,17554-17562
DOI: 10.1039/D4TC03085K, Paper
Jina Lee, Yeonju Jeong, Sunhee Lee, Yi Sak Lee, Bubae Park, Taekyung Kim, Won-Sik Han
Two derivatives of o-carborane, CAPCb and CAMCb, were synthesized and utilized in the fabrication of white OLED devices that exhibit cool white emission and specific CIE coordinates.
The content of this RSS Feed (c) The Royal Society of Chemistry




pro

In situ construction of surface oxygen vacancies on N/TiO2 for promoting visible light photocatalytic H2 evolution

J. Mater. Chem. C, 2024, 12,17500-17510
DOI: 10.1039/D4TC03098B, Paper
Yuandong Shen, Nan Yang, Ke Wang, Bin Xiao, Yijun He, Zhishi Qiu, Tong Zhou, Weijie Zhan, Rui Hu, Genlin Zhang, Jin Zhang, Zhongqi Zhu, Feng Liu, Hao Cui, Qingju Liu
A simple method of mixed sintering of thiourea and NH2-MIL-125(Ti) is adopted to obtain N-doped TiO2 with abundant surface OV, which significantly improves the photocatalytic performance of TiO2 under visible light.
The content of this RSS Feed (c) The Royal Society of Chemistry




pro

One-pot and large-scale production of uniform ytterbium-doped perovskite nanocrystals with controllable optical properties

J. Mater. Chem. C, 2024, 12,17647-17657
DOI: 10.1039/D4TC03364G, Paper
Jing Chu, Linxuan Zhang, Quanjie Lv, Yijun Han, Kang Sun, Ke Tao
Monodispersed Yb3+:CsPbCl3 nanocrystals with tunable optical properties were synthesized via a scalable one-pot method. The mechanism of size evolution based on digestive ripening was proposed.
The content of this RSS Feed (c) The Royal Society of Chemistry




pro

Ultra-low thermal conductivity and enhanced mechanical properties of high-entropy perovskite ceramics

J. Mater. Chem. C, 2024, 12,17687-17694
DOI: 10.1039/D4TC03278K, Paper
Wenjing Qiao, Jiantuo Zhao, Yingwei Qi, Xiaopei Zhu, Xifei Wang, Zhizhi Xu, Mei Bai, Junwen Mei, Yanhua Hu, Xiaojie Lou
A novel entropy-stabilized ceramic system featuring a disordered perovskite structure manifests low thermal conductivity and superior mechanical properties.
The content of this RSS Feed (c) The Royal Society of Chemistry




pro

Correction: Charge transfer properties of novel linear carbon chain-based dyes

J. Mater. Chem. C, 2024, 12,17704-17704
DOI: 10.1039/D4TC90100B, Correction
Open Access
  This article is licensed under a Creative Commons Attribution 3.0 Unported Licence.
Giuseppe Consiglio, Adam Gorczyński, Salvatore Petralia, Giuseppe Forte
The content of this RSS Feed (c) The Royal Society of Chemistry




pro

Enhanced electrical properties of lead-free sodium potassium niobate piezoelectric ceramics prepared via cold sintering assisted sintering

J. Mater. Chem. C, 2024, Advance Article
DOI: 10.1039/D4TC04031G, Paper
Yao Huang, Xinyue Song, Renbing Sun, Hai Jiang, Peng Du, Laihui Luo
The CSAS method can increase the density of the ceramics and reduce the volatilization of the A-site elements, thus changing the phase structure of the ceramics and making them high piezoelectric properties.
To cite this article before page numbers are assigned, use the DOI form of citation above.
The content of this RSS Feed (c) The Royal Society of Chemistry




pro

Improving electromagnetic engineering of thermal conductive composites by establishing continuous thermal conductive networks with gradient impedance

J. Mater. Chem. C, 2024, Advance Article
DOI: 10.1039/D4TC03974B, Paper
Dong An, Hongfeng Chen, Huitao Yu, Jiaqi Chen, Junru Yao, Chingping Wong, Wei Feng
Mechanism schematic of the EM wave absorption and thermal conduction of composites.
To cite this article before page numbers are assigned, use the DOI form of citation above.
The content of this RSS Feed (c) The Royal Society of Chemistry




pro

Design, Synthesis, and Optoelectronic Properties of Benzothiadiazole-fused Sulfur and Nitrogen-containing Polycyclic Heteroaromatics

J. Mater. Chem. C, 2024, Accepted Manuscript
DOI: 10.1039/D4TC04250F, Paper
Yuxin Yin, Rui Shi, Zhongwei Liu, Yanru Li, Ting Jiang, Lingxu Zhao, Jie Li, Deyang Ji, Liqiang Li, Zhuping Fei
The optoelectronic property of sulfur and nitrogen-containing polycyclic heteroaromatics is still low and structure-property relationships remain unclear as compared with that of acenes and sulfur-heterocyclic aromatic hydrocarbons, which is mainly...
The content of this RSS Feed (c) The Royal Society of Chemistry




pro

Tailoring electromagnetic interference shielding, electrical and thermal properties of poly(vinylidene fluoride) based hybrid nanocomposites with carbon nanofiber and magnetite nanoparticles

J. Mater. Chem. C, 2024, Accepted Manuscript
DOI: 10.1039/D4TC02880E, Paper
Aleena Sabu, Sabarish Narayanan B. B, Pratheep Kumar Annamalai, Ramanujam Brahmadesam Thoopul Srinivasa Raghava
Flexible polymer nanocomposite films hold great potential for microwave absorption applications and their electromagnetic interference shielding effectiveness (EMI SE) can be tailored by optimising the electrical properties such as conductivity....
The content of this RSS Feed (c) The Royal Society of Chemistry




pro

Influence of a diketopyrrolopyrrole spacer on the ultrafast nonlinear optical properties and excited state dynamics of dimeric zinc porphyrin molecules

J. Mater. Chem. C, 2024, Advance Article
DOI: 10.1039/D4TC03281K, Paper
Rahul Murali, Chinmoy Biswas, Sudhanshu Kumar Nayak, Hanping Wu, Xiaobin Peng, Vipin Kumar, Prabhakar Chetti, Venugopal Rao Soma, Sai Santosh Kumar Raavi
This work highlights the significance of adding a DPP unit to the zinc-porphyrin core with ethynylene bridges to enhance third-order NLO properties under femtosecond laser excitation.
To cite this article before page numbers are assigned, use the DOI form of citation above.
The content of this RSS Feed (c) The Royal Society of Chemistry




pro

Synthesis and electron-transporting properties of phenazine bisimides

J. Mater. Chem. C, 2024, Advance Article
DOI: 10.1039/D4TC03306J, Paper
Keita Tajima, Taito Moribe, Kyohei Matsuo, Hiroko Yamada, Shu Seki, Seiya Yokokura, Toshihiro Shimada, Norihito Fukui, Hiroshi Shinokubo
We have applied the dual incorporation of imide substituents and imine-type nitrogen atoms to anthracene, and thus synthesized phenazine bisimide. The structure–property relationship of this design strategy was systematically investigated.
To cite this article before page numbers are assigned, use the DOI form of citation above.
The content of this RSS Feed (c) The Royal Society of Chemistry