Comments (9)
You’re right, complex media queries is one of the last missing CSS3 features. I don’t think I’ll use this any time soon so if you really need it, you should code it yourself and send a pull request.
from php-css-parser.
Finally I used some regex for parse this css, this css parser works great but it's not really good for website performance...
Thank you anyway.
from php-css-parser.
I think I’ll keep this issue open in case I do get around to implementing this.
from php-css-parser.
@Jeedey would you mind sharing what you've got so far? Maybe I can help to find a fast solution based on your work.
from php-css-parser.
Also had problems with media queries, but as they are per sé not important in my case i just clean the file of any media queries. Here are my cleaning approaches – maybe that helps others too:
$cssContent = preg_replace("/@media(\s)*\([^)]+\)(\s)*\{/i", "", $cssContent);
$cssContent = preg_replace("/\}(\s)*\}/i", "", $cssContent);
from php-css-parser.
For your information this function parses css media queries:
https://github.com/recuweb-source/php-dom-scraper/blob/master/functions_dom_parser.php#L200
from php-css-parser.
Since more and more css contains animation keyframes i had to update my media query replacement from above:
$code = preg_replace("/@media\s*\(([^)]+)\)\s*\{([^\{]+\{[^\}]+\})*\}/mi", "/* @media-begin($1) */\n$2\n/* @media-end($1) */\n", $code);
This wraps the media query with comments /* media-begin([condition]) */
and the corresponding end tag.
from php-css-parser.
Any (partial?)progress with this 3 year old issue? I'd like to parse Foundation and "wrap" it under specific selector but it uses media queries a lot.
Maybe this could be of some help https://github.com/crossjoin/Css/tree/master/src/Crossjoin/Css/Format/Rule/AtMedia
from php-css-parser.
@ivanjaros I’m not currently actively working on new features for the project. But I’m very much maintaining it so if you want to work on this and open a pull-request I’ll do my best to get it merged.
from php-css-parser.
Related Issues (20)
- Strict parsing mode exception with whitespace-only CSS
- @media block gives syntax error HOT 2
- issue with var on multiline HOT 1
- Selectors inside :not() not correctly parsed HOT 2
- Add a Dependabot configuration HOT 1
- @layer support
- GitHub releases page not up to date with tags (missing 8.4.0) HOT 1
- Update the GitHub runners to the latest Ubuntu LTS version HOT 1
- Add tests with SimonSapin/css-parsing-tests HOT 1
- Expressions are not being parsed HOT 3
- How to get comment HOT 1
- Fix undefined `$oRule` in `DeclarationBlock`
- Fix undefined `$oVal` in `CalcFunction`
- Add proper setters and getters to `OutputFormat`
- Make all `in_array` call strict
- Fix the `Size` constructor arguments in `DeclarationBlock`
- Can't composer update on Linux Ubuntu corrupt error HOT 6
- Allow rgb(R G B / A) notation
- Is there a way to render block wrapper with @media
- Add support for new viewport unit in Size class
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from php-css-parser.