troubleshooting(dialog): Dialog title :before psuedo element
- Dominant language
- TypeScript
- Stars
- 25k
- Forks
- 6.8k
- Avg merge
- 1d 8h
- Merged PRs (30d)
- 91
Description
### Is this a regression?
- [ ] Yes, this behavior used to work in the previous version
### The previous version in which this bug was not present was
_No response_
### Description
We are doing a migration to Material Angular 16 and when attempting to style the `mat-dialog-title` of a dialog. There is a `:before` pseudo element which has an empty string as content, and I believe the purpose of this element is to set the height of the title element with the `mat-dialog-title` directive. Is this correct? This implementation seems very hacky to me and flexbox `justify-content` does not work property because this pseudo element is considered an element within a flex container, and therefore the developer either needs to create a new flex container within the `mat-dialog-title` or remove the content from the `:before` psuedo element. Am I not not thinking of this correctly and is there another way to use `justify-content` which works with this psuedo element?
### Reproduction
StackBlitz link:
Steps to reproduce:
1.
2.
### Expected Behavior
If the `mat-dialog-title` container is a flex container, `justify-content: space-between` works correctly.
### Actual Behavior
`justify-content: space-between` adds space between the psuedo element which has an empty string as content and the next element within the `mat-dialog-title`
### Environment
- Angular: 16.2.10
- CDK/Material: 16.2.9
- Browser(s): Firefox
- Operating System (e.g. Windows, macOS, Ubuntu): macOS
Contributor guide
Research direction
Start with the Angular Material dialog title styles associated with the mat-dialog-title directive and reproduce the layout in Firefox using the issue's flexbox example. Check how the :before pseudo-element affects justify-content: space-between. Done means the dialog title's flex layout behaves as expected without requiring an extra container or manual removal of the pseudo-element.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- angular, typescript
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100