I use the following in Rmarkdown YAML for double space (there are other items in the YAML that I do not include here).
output: pdf_document
header-includes:
- \usepackage{setspace}\doublespacing
But it double spaces everything, but I want not to double space in the title page. My title page contains title of the document (which is more than 2 lines), author affiliations (which is also several lines).
Please note that my output is pdf (not HTML or WORD doc). Other components in YAML is fine.
Move your \doublespacing command out of the header and use where you need it:
---
output: pdf_document
header-includes:
- \usepackage{setspace}
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
# Single Spacing
Lorem ipsum dolor sit amet, fermentum parturient luctus pretium sodales, porta iaculis massa sed nisl turpis, metus eget. Eu tincidunt est blandit. In gravida, tempus libero convallis leo suscipit tincidunt sit. Senectus eros, vel tincidunt conubia primis, sagittis phasellus laoreet ac. Sed ut non semper feugiat feugiat montes erat. Ultricies, turpis dictumst, ante, tempor orci elementum nam in ac. Justo facilisis nibh nibh at donec porta. Ultrices, interdum accumsan sociis mi. Ligula iaculis molestie eu pellentesque eu. Leo rutrum pulvinar ut egestas himenaeos quisque, in parturient, nec non commodo vel diam. Donec nec praesent lacus morbi nisi risus nec. Sit, ipsum, tincidunt ornare a dis ac, aliquam elit.
# Double Spacing
\doublespacing
Lorem ipsum dolor sit amet, fermentum parturient luctus pretium sodales, porta iaculis massa sed nisl turpis, metus eget. Eu tincidunt est blandit. In gravida, tempus libero convallis leo suscipit tincidunt sit. Senectus eros, vel tincidunt conubia primis, sagittis phasellus laoreet ac. Sed ut non semper feugiat feugiat montes erat. Ultricies, turpis dictumst, ante, tempor orci elementum nam in ac. Justo facilisis nibh nibh at donec porta. Ultrices, interdum accumsan sociis mi. Ligula iaculis molestie eu pellentesque eu. Leo rutrum pulvinar ut egestas himenaeos quisque, in parturient, nec non commodo vel diam. Donec nec praesent lacus morbi nisi risus nec. Sit, ipsum, tincidunt ornare a dis ac, aliquam elit.
\singlespacing
# Single Spacing
Lorem ipsum dolor sit amet, fermentum parturient luctus pretium sodales, porta iaculis massa sed nisl turpis, metus eget. Eu tincidunt est blandit. In gravida, tempus libero convallis leo suscipit tincidunt sit. Senectus eros, vel tincidunt conubia primis, sagittis phasellus laoreet ac. Sed ut non semper feugiat feugiat montes erat. Ultricies, turpis dictumst, ante, tempor orci elementum nam in ac. Justo facilisis nibh nibh at donec porta. Ultrices, interdum accumsan sociis mi. Ligula iaculis molestie eu pellentesque eu. Leo rutrum pulvinar ut egestas himenaeos quisque, in parturient, nec non commodo vel diam. Donec nec praesent lacus morbi nisi risus nec. Sit, ipsum, tincidunt ornare a dis ac, aliquam elit.
Related
i'm currently making a simple blog with #next/mdx and gray-matter(for frontmatter, not export const meta={...})
The problem is when i create /pages/article/dynamic-routing.mdx
---
title: 'Dynamic Routing and Static Generation'
category: 'Frontend'
coverImage: '/assets/blog/dynamic-routing/cover.jpg'
date: '2020-03-16T05:35:07.322Z'
author:
name: JJ Kasper
picture: '/assets/blog/authors/jj.jpeg'
ogImage:
url: '/assets/blog/dynamic-routing/cover.jpg'
description: 'dynamic-routing'
---
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Praesent elementum facilisis leo vel fringilla est ullamcorper eget. At imperdiet dui accumsan sit amet nulla facilities morbi tempus. Praesent elementum facilisis leo vel fringilla. Congue mauris rhoncus aenean vel. Egestas sed tempus urna et pharetra pharetra massa massa ultricies.
Venenatis cras sed felis eget velit. Consectetur libero id faucibus nisl tincidunt. Gravida in fermentum et sollicitudin ac orci phasellus egestas tellus. Volutpat consequat mauris nunc congue nisi vitae. Id aliquet risus feugiat in ante metus dictum at tempor. Sed blandit libero volutpat sed cras. Sed odio morbi quis commodo odio aenean sed adipiscing. Velit euismod in pellentesque massa placerat. Mi bibendum neque egestas congue quisque egestas diam in arcu. Nisi lacus sed viverra tellus in. Nibh cras pulvinar mattis nunc sed. Luctus accumsan tortor posuere ac ut consequat semper viverra. Fringilla ut morbi tincidunt augue interdum velit euismod.
## Lorem Ipsum
Tristique senectus et netus et malesuada fames ac turpis. Ridiculous mus mauris vitae ultricies leo integer malesuada nunc vel. In mollis nunc sed id semper. Egestas tellus rutrum tellus pellentesque. Phasellus vestibulum lorem sed risus ultricies tristique nulla. Quis blandit turpis cursus in hac habitasse platea dictumst quisque. Eros donec ac odio tempor orci dapibus ultrices. Aliquam sem et tortor consequat id porta nibh. Adipiscing elit duis tristique sollicitudin nibh sit amet commodo nulla. Diam vulputate ut pharetra sit amet. Ut tellus elementum sagittis vitae et leo. Arcu non odio euismod lacinia at quis risus sed vulputate.
<Heading>Hi</Heading>
it renders frontmatter too, when i enter /article/dynamic-routing like this.
how can i show only content??
enter image description here
I am struggling to create a table in a Rmarkdown document with two columns of text. I would like the table to occupy the full with of the page, just like if I use the \begin{table*} command in latex.
Here is my code:
---
title: "test"
author: "Me"
output: pdf_document
classoption: twocolumn
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
# This is a title
This text is in the left.
```{r echo=FALSE, message=FALSE, warning=FALSE}
library(kableExtra)
library(dplyr)
data <- data.frame(
a=c(1, 2, 3),
b=c(4, 5, 6),
c=c(4, 5, 6),
d=c(4, 5, 6),
e=c(4, 5, 6)
)
kbl(
data,
caption = "This is a table",
booktabs = TRUE
) %>%
kable_styling(
latex_options = c("hold_position", "scale_down")
)
```
I have even tried the full_width = T, but doesn't do what I want. I can't find any information about the way to solve it. Anyone can help me, please? Thanks!
I would like to get something like:
instead of:
Following your example, this code works fine. I just removed the scale_down from latex_options.
---
title: "test"
author: "Me"
output: pdf_document
classoption: twocolumn
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
# This is a title
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum eu egestas turpis, et condimentum est. Donec id ultrices lacus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Sed ornare, urna vitae pretium pulvinar, tortor leo sodales ligula, nec rhoncus nibh felis vel odio. Cras vulputate justo ac quam varius, vitae feugiat dolor lacinia. Aliquam dictum leo vel tristique volutpat. Vivamus malesuada commodo sapien ut interdum. Duis rhoncus condimentum magna non venenatis.
Phasellus varius, eros at venenatis aliquam, turpis orci pulvinar libero, ut convallis diam lorem vel mauris. Duis nunc diam, vulputate eget nulla ullamcorper, facilisis lacinia neque. Curabitur cursus erat mi, eu imperdiet purus sagittis consequat. Donec tincidunt arcu ipsum, in bibendum velit sagittis eu. In efficitur porttitor pharetra. Nullam feugiat varius neque tempor consequat. Sed sit amet justo vel libero iaculis congue. Pellentesque diam nibh, pretium nec imperdiet in, mattis id dui. Mauris porta dictum tempus. In hac habitasse platea dictumst. Nam varius nunc id faucibus egestas. Duis vulputate lacinia est quis pellentesque. Suspendisse potenti. Vestibulum pellentesque nisi sed felis volutpat pulvinar. Suspendisse lacinia suscipit libero. Duis eu ex eu sem ultricies dignissim eu id eros.
In lacinia ex eu mi faucibus malesuada et eget purus. In sit amet molestie erat. Nam dui mi, dignissim ut lobortis malesuada, tincidunt id tellus. Duis sed ultricies elit. Mauris a hendrerit velit. Praesent vel feugiat ex, et consequat magna. Interdum et malesuada fames ac ante ipsum primis in faucibus.
Mauris tempor sagittis purus ac pellentesque. Phasellus mattis erat in elit sodales, at varius massa rutrum. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec non maximus tortor. Aliquam porttitor at neque vel tincidunt. Nam et justo mi. Nam lacinia vel dolor et eleifend. Fusce consectetur placerat ultrices. Sed efficitur congue lacus non laoreet. Donec mi enim, tempus ut lectus vitae, congue aliquam massa. Sed eget lectus eu mi tristique aliquam. Praesent sagittis ornare rhoncus. Nunc sapien urna, semper sed sagittis eget, aliquet sed ex. Fusce vitae tellus egestas risus condimentum molestie at sit amet sem. Vivamus ac nunc mauris. Vestibulum id leo euismod, consectetur augue sit amet, maximus libero.
In ut orci feugiat, blandit ligula sed, tincidunt libero. Sed vel nisi sapien. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed ullamcorper turpis non mauris mollis auctor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus accumsan orci sit amet est porta finibus. Vivamus commodo, diam non vulputate finibus, mauris purus commodo erat, pharetra cursus justo neque sit amet erat. Cras ut semper urna.
```{r echo=FALSE, message=FALSE, warning=FALSE}
library(kableExtra)
library(dplyr)
data <- data.frame(
a=c(1, 2, 3),
b=c(4, 5, 6),
c=c(4, 5, 6),
d=c(4, 5, 6),
e=c(4, 5, 6)
)
kbl(data,
caption = "This is a table",
booktabs = TRUE) %>%
kable_styling(latex_options = c("hold_position"), full_width = T)
```
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum eu egestas turpis, et condimentum est. Donec id ultrices lacus. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Sed ornare, urna vitae pretium pulvinar, tortor leo sodales ligula, nec rhoncus nibh felis vel odio. Cras vulputate justo ac quam varius, vitae feugiat dolor lacinia. Aliquam dictum leo vel tristique volutpat. Vivamus malesuada commodo sapien ut interdum. Duis rhoncus condimentum magna non venenatis.
Phasellus varius, eros at venenatis aliquam, turpis orci pulvinar libero, ut convallis diam lorem vel mauris. Duis nunc diam, vulputate eget nulla ullamcorper, facilisis lacinia neque. Curabitur cursus erat mi, eu imperdiet purus sagittis consequat. Donec tincidunt arcu ipsum, in bibendum velit sagittis eu. In efficitur porttitor pharetra. Nullam feugiat varius neque tempor consequat. Sed sit amet justo vel libero iaculis congue. Pellentesque diam nibh, pretium nec imperdiet in, mattis id dui. Mauris porta dictum tempus. In hac habitasse platea dictumst. Nam varius nunc id faucibus egestas. Duis vulputate lacinia est quis pellentesque. Suspendisse potenti. Vestibulum pellentesque nisi sed felis volutpat pulvinar. Suspendisse lacinia suscipit libero. Duis eu ex eu sem ultricies dignissim eu id eros.
In lacinia ex eu mi faucibus malesuada et eget purus. In sit amet molestie erat. Nam dui mi, dignissim ut lobortis malesuada, tincidunt id tellus. Duis sed ultricies elit. Mauris a hendrerit velit. Praesent vel feugiat ex, et consequat magna. Interdum et malesuada fames ac ante ipsum primis in faucibus.
Mauris tempor sagittis purus ac pellentesque. Phasellus mattis erat in elit sodales, at varius massa rutrum. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec non maximus tortor. Aliquam porttitor at neque vel tincidunt. Nam et justo mi. Nam lacinia vel dolor et eleifend. Fusce consectetur placerat ultrices. Sed efficitur congue lacus non laoreet. Donec mi enim, tempus ut lectus vitae, congue aliquam massa. Sed eget lectus eu mi tristique aliquam. Praesent sagittis ornare rhoncus. Nunc sapien urna, semper sed sagittis eget, aliquet sed ex. Fusce vitae tellus egestas risus condimentum molestie at sit amet sem. Vivamus ac nunc mauris. Vestibulum id leo euismod, consectetur augue sit amet, maximus libero.
In ut orci feugiat, blandit ligula sed, tincidunt libero. Sed vel nisi sapien. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed ullamcorper turpis non mauris mollis auctor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus accumsan orci sit amet est porta finibus. Vivamus commodo, diam non vulputate finibus, mauris purus commodo erat, pharetra cursus justo neque sit amet erat. Cras ut semper urna.
This is the result:
I am working with text files that have been extracted from google docs. The google docs versions have comments and these are included in the file when they are converted to .txt. I would like to programmatically convert each comment to an rmarkdown flavoured footnote.
At present they look like so:
*Background:*[a] Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Nulla[b] a accumsan enim. Aenean sed elit a nunc efficitur pharetra.
*Method:* [c]Praesent dapibus turpis in dictum aliquam.
[a]This should be bolded
[b]What happens to a multiple
line
comment?
[c]How about we make this italics?
The desired output is
*Background:*^[This should be bolded] Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Nulla^[What happens to a multiple
line
comment?] a accumsan enim. Aenean sed elit a nunc efficitur pharetra.
*Method:* ^[How about we make this italics?]Praesent dapibus turpis in dictum aliquam.
There are an unknown number of comments in each file (some files have no comments). As demonstrated - comments can span multiple lines, but the comment text is always at the very end of the file. It's worth noting that there may be square brackets in text other than the comments, so ideally only values that had a comment marker (i.e. [a]) and a corresponding comment at the end of the file (i.e. [a]This should be bolded) would be processed.
Thanks to a (unfortunately now deleted) starting point from #OganM I've now managed to find a working solution.
library(dplyr)
library(stringr)
comment_to_footnote <- function(text) {
pairs <- stringr::str_extract_all(text, '\\[[a-z]\\]') %>% {.[[1]]}
comments <-
stringr::str_extract_all(text, "(?s)\\n\\[[a-z]\\].*?($)") %>% {.[[1]]} %>%
str_split("\\[") %>% {.[[1]]}
comments <-
as.data.frame(cbind(
tag = sapply(str_split(comments, "\\]"), function(x) x[1]),
comment = sapply(str_split(comments, "\\]"), function(x) x[2])
)) %>%
mutate(
pattern = paste0("\\[", tag, "\\]"),
tag = paste0("[", tag, "]"),
comment_clean = str_replace_all(comment, pattern = "\\n", " ")
) %>%
right_join(as.data.frame(x = pairs[duplicated(pairs)]), by = c("tag" = "pairs[duplicated(pairs)]"))
for (i in 1:nrow(comments)) {
# replace the initial occurence of the label with the
# markdown style footer
text = str_replace(
string = text,
pattern = as.character(comments[i, 3]),
replacement = paste0('^[', comments[i, 4], '] ')
)
# get rid of the second occurence of the label that used
# to have the text in it
text = str_remove(string = text,
pattern = paste0("(?s)\\n", comments[i, 3], comments[i, 2], ".*?($)"))
}
return(text)
}
This ignores text in square brackets that does not have a matching comment at the end of the file.
text <- "*Background:*[a][b] Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis maximus urna ac erat tincidunt fermentum. Nulla[c] a accumsan enim. Aenean [d]sed elit a nunc efficitur pharetra. Vivamus ultricies pretium lobortis. Nam bibendum mi vel eros congue, ac ultrices lorem dictum. Orci varius [p < .001] natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed vitae feugiat orci. Integer hendrerit enim nec odio condimentum ornare. Vestibulum nisl quam, porttitor in semper et, porta ac enim. Phasellus a nisl vulputate, [This is handwritten and has no matching comment tag - should not be extracted]luctus mi sit amet, tincidunt enim. Sed ac est pellentesque, aliquam lacus non, rutrum neque. Sed vestibulum magna sit amet ipsum vehicula mollis. Suspendisse orci magna, vulputate ut neque et, consequat aliquam dui.
*Method:* [e]Praesent dapibus turpis in dictum aliquam. Maecenas ac molestie nunc. Nulla varius ultrices purus at blandit. Nulla dolor nisi, lacinia a ante eu, dictum semper nulla. Donec volutpat ultrices tempus. Proin non tristique metus, et tristique ante. Duis malesuada orci sit amet laoreet commodo. Donec faucibus vel erat tempus hendrerit. Vestibulum sit amet massa sit amet velit tempus dignissim. Etiam sed elit lacinia, euismod dui vitae, sagittis enim. Vestibulum ut eleifend orci, a semper massa. Quisque eu fringilla massa, at viverra nulla.[f]
*Results:* In laoreet, eros sed sagittis placerat, erat ex lobortis sem, ut pellentesque velit nisl ac est. Nulla mauris sapien, posuere hendrerit pulvinar a, molestie a orci. Suspendisse vitae risus augue. Nulla vel odio eget tellus sagittis pretium vitae nec enim. Fusce imperdiet, elit [g]maximus pellentesque tincidunt, mauris lacus ultrices massa, eget malesuada elit est et libero. Mauris vehicula urna augue, commodo varius sapien eleifend nec. Aenean ac lacinia nibh, faucibus scelerisque ligula. Sed tortor nisi, dictum ac augue et, auctor posuere ipsum. Curabitur condimentum urna [h]ut mi interdum porttitor. Fusce mi felis, hendrerit quis diam id, facilisis placerat nibh. Aliquam tempor lacus eget orci faucibus, id suscipit libero scelerisque. Nunc ultricies diam vitae vulputate mollis. Pellentesque ullamcorper placerat dui. Praesent lobortis vehicula augue ultricies interdum.
*Conclusion:* Curabitur eleifend ligula felis, ut condimentum lacus egestas nec. Suspendisse faucibus tempus maximus. Sed finibus facilisis ornare. Proin molestie interdum sapien at laoreet. Aenean sagittis dolor non volutpat fringilla. Etiam vulputate justo at orci pharetra condimentum. Mauris condimentum neque libero, in auctor lectus volutpat at. Pellentesque eros lacus, scelerisque eget dictum sed, porttitor sed elit. Morbi tristique nunc vel nunc consectetur, ut tincidunt tellus fermentum. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Vivamus venenatis quis leo quis bibendum. Suspendisse efficitur quam sit amet nisi dignissim sodales. Nullam ex nulla, sagittis a diam non, dapibus scelerisque libero. Fusce ac ante ac dolor congue eleifend eu quis sem. Donec molestie finibus tortor at ullamcorper.[z]
[a]This should be bolded
[b]Comment reply. Good idea!
[c]What happens to a multiple
line
comment?
[d]I don't think this spelling is correct
[e]How about we make this italics?
[f]Gratuitous comments
[g]More here
[h]Add some comments"
cleaned_text <- comment_to_comment(text)
print(cleaned_text)
[1] "*Background:*^[This should be bolded ] ^[Comment reply. Good idea! ] Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis maximus urna ac erat tincidunt fermentum. Nulla^[What happens to a multiple line comment? ] a accumsan enim. Aenean ^[I don't think this spelling is correct ] sed elit a nunc efficitur pharetra. Vivamus ultricies pretium lobortis. Nam bibendum mi vel eros congue, ac ultrices lorem dictum. Orci varius [p < .001] natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Sed vitae feugiat orci. Integer hendrerit enim nec odio condimentum ornare. Vestibulum nisl quam, porttitor in semper et, porta ac enim. Phasellus a nisl vulputate, [This is handwritten and has no matching comment tag - should not be extracted]luctus mi sit amet, tincidunt enim. Sed ac est pellentesque, aliquam lacus non, rutrum neque. Sed vestibulum magna sit amet ipsum vehicula mollis. Suspendisse orci magna, vulputate ut neque et, consequat aliquam dui.\n\n\n*Method:* ^[How about we make this italics? ] Praesent dapibus turpis in dictum aliquam. Maecenas ac molestie nunc. Nulla varius ultrices purus at blandit. Nulla dolor nisi, lacinia a ante eu, dictum semper nulla. Donec volutpat ultrices tempus. Proin non tristique metus, et tristique ante. Duis malesuada orci sit amet laoreet commodo. Donec faucibus vel erat tempus hendrerit. Vestibulum sit amet massa sit amet velit tempus dignissim. Etiam sed elit lacinia, euismod dui vitae, sagittis enim. Vestibulum ut eleifend orci, a semper massa. Quisque eu fringilla massa, at viverra nulla.^[Gratuitous comments ] \n\n\n*Results:* In laoreet, eros sed sagittis placerat, erat ex lobortis sem, ut pellentesque velit nisl ac est. Nulla mauris sapien, posuere hendrerit pulvinar a, molestie a orci. Suspendisse vitae risus augue. Nulla vel odio eget tellus sagittis pretium vitae nec enim. Fusce imperdiet, elit ^[More here ] maximus pellentesque tincidunt, mauris lacus ultrices massa, eget malesuada elit est et libero. Mauris vehicula urna augue, commodo varius sapien eleifend nec. Aenean ac lacinia nibh, faucibus scelerisque ligula. Sed tortor nisi, dictum ac augue et, auctor posuere ipsum. Curabitur condimentum urna ^[Add some comments] ut mi interdum porttitor. Fusce mi felis, hendrerit quis diam id, facilisis placerat nibh. Aliquam tempor lacus eget orci faucibus, id suscipit libero scelerisque. Nunc ultricies diam vitae vulputate mollis. Pellentesque ullamcorper placerat dui. Praesent lobortis vehicula augue ultricies interdum.\n\n\n*Conclusion:* Curabitur eleifend ligula felis, ut condimentum lacus egestas nec. Suspendisse faucibus tempus maximus. Sed finibus facilisis ornare. Proin molestie interdum sapien at laoreet. Aenean sagittis dolor non volutpat fringilla. Etiam vulputate justo at orci pharetra condimentum. Mauris condimentum neque libero, in auctor lectus volutpat at. Pellentesque eros lacus, scelerisque eget dictum sed, porttitor sed elit. Morbi tristique nunc vel nunc consectetur, ut tincidunt tellus fermentum. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Vivamus venenatis quis leo quis bibendum. Suspendisse efficitur quam sit amet nisi dignissim sodales. Nullam ex nulla, sagittis a diam non, dapibus scelerisque libero. Fusce ac ante ac dolor congue eleifend eu quis sem. Donec molestie finibus tortor at ullamcorper.[z]\n\n"
This seems to work, but I'm sure that there are more elegant solutions.
I want to build the following UI behavior:
I have a responsive content followed by a new section, and that new section should have a background image than scrolls with the page, until reaching the top, and then freezes at the top.
I made a research and have found a few similar answers, but can't find anything specific for what I want.
I don't want to use a fixed background image resting at TOP LEFT, as I don't want the image to start at the top of the page.
This question has me off to a good start:
How can I make a div stick to the top of the screen once it's been scrolled to?
This fiddle also has parts of what I'm trying to do, but it's not there yet, and I'm stumped. (I've broken this code somehow, while trying to stumble along on my own. Pretend the big red box is the background image div.
http://fiddle.jshell.net/5y2b4xoL/
Essentially, the background image should not be fixed until it is scrolled to the top of the page, at which point it should become fixed.
Any help is appreciated.
you could use jQuery scroll() so when the scroll comes to your element it will make it stick by changing position,
see the following snippet:
$(window).scroll(function() {
var y_scroll_pos = window.pageYOffset;
var scroll_pos_test = 155;
// set to whatever you want it to be
if (y_scroll_pos > scroll_pos_test) {
$("#scroller").css("position", "fixed");
$("#scroller").css("top", "0");
} else {
$("#scroller").css("position", "relative");
$("#scroller").css("top", "auto");
}
});
body {
min-height: 1400px;
background:yellow;
margin: 0;
}
h1 {
margin-bottom: 100px;
}
#scroller {
background: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h1>Scroller demo</h1>
<div id="scroller-anchor"></div>
<div id="scroller">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam non tortor eros, nec rhoncus nulla. In fringilla, dui vel vehicula luctus,
nunc arcu ultricies nisi, eu adipiscing sapien orci nec justo. Nulla facilisis gravida tempus. Nunc interdum, dolor sed euismod rutrum, odio
turpis rutrum odio, iaculis venenatis nunc sem eu dui. Nulla venenatis, leo quis porta luctus, ipsum ipsum tempus nunc, in fermentum arcu odio
non ipsum. Vivamus bibendum pulvinar sapien a cursus. Nullam lobortis nibh eget odio placerat hendrerit. In non leo turpis, quis posuere augue
</div>
. Mauris auctor commodo quam, quis vulputate orci tincidunt et. Nulla tellus lectus, rhoncus ut malesuada eget, auctor ac ligula. Suspendisse mollis
tempus interdum. Proin non velit in lectus elementum interdum eu eget velit. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per
inceptos himenaeos. Nam lobortis, est ac elementum tincidunt, lacus dolor lacinia erat, eget ullamcorper augue justo in lectus. Aliquam eros felis,
fringilla sed cursus sit amet, consectetur nec tellus. Vestibulum ultricies auctor erat, ac facilisis felis fermentum id. Quisque sed rhoncus dolor.
Nullam hendrerit justo non lacus rutrum vitae pellentesque velit adipiscing. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere
cubilia Curae; Phasellus pulvinar ultricies sapien, sed consectetur purus condimentum et. Nulla viverra accumsan condimentum. Ut sodales, lacus sed varius
porttitor, odio ipsum tristique odio, ac sollicitudin est urna at sem. Aliquam suscipit porta felis, sit amet aliquet justo ultricies ac. Proin a orci
et eros interdum dignissim. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aenean vehicula malesuada pretium.
Suspendisse potenti. Nullam at felis quam. Donec gravida mi et purus pretium vitae placerat lacus porttitor. Donec scelerisque pellentesque sollicitudin.
Nullam et lacinia urna. In velit magna, malesuada quis iaculis a, auctor at felis. Quisque hendrerit aliquam diam vel luctus. Vestibulum venenatis
sapien at libero mattis mattis. Etiam eu aliquet tellus. Cras malesuada ligula non urna auctor a pretium lorem placerat. Quisque pulvinar turpis
non nisi laoreet fringilla. Proin mollis enim id nisi egestas eget varius metus mattis. Nulla viverra dui quis velit gravida sodales. Nulla nec
nisi et ligula viverra eleifend. Aliquam ac lectus at nunc mattis volutpat. Suspendisse elit lorem, gravida nec lobortis non, venenatis nec odio.
Vestibulum et luctus sapien. Donec faucibus blandit urna, nec convallis metus aliquam suscipit. Curabitur fermentum purus ornare mauris auctor tristique.
Cras vel magna sit amet felis tempor dapibus nec id turpis. Duis eu tortor lorem. Nulla dapibus pellentesque enim lobortis feugiat. Vestibulum ante ipsum
primis in faucibus orci luctus et ultrices posuere cubilia Curae; Morbi iaculis sem ut erat sodales non elementum elit bibendum. Duis ut mi tellus.
Integer consequat ligula mattis tortor aliquam ut hendrerit lacus tempus. Quisque suscipit magna nec nulla accumsan sit amet tempor nisi gravida. Mauris
pulvinar tortor id justo feugiat ultrices. Vestibulum vel ante orci, a venenatis tortor. Duis urna erat, imperdiet iaculis facilisis eu, convallis
et dolor. Suspendisse mauris ligula, luctus a pellentesque vitae, rhoncus eu lectus. Morbi eget leo sed magna varius pretium quis sit amet lectus
. Nunc sagittis molestie congue. Donec aliquet vestibulum dui, non placerat massa pharetra at. Maecenas ac massa elit, eget venenatis elit. Nullam
elementum aliquet nisi, eu luctus libero fringilla sed. Maecenas vitae mauris nisi, a egestas lectus. Pellentesque habitant morbi tristique senectus
et netus et malesuada fames ac turpis egestas. Donec lobortis malesuada libero, a tempus tortor auctor et. Vestibulum iaculis eleifend neque, et
consequat augue adipiscing sit amet. Integer sodales dictum nibh et suscipit. In congue sollicitudin erat et imperdiet. Proin tellus enim, bibendum
a sollicitudin non, accumsan at nisl. Phasellus vulputate elementum ligula a volutpat. Etiam scelerisque sollicitudin massa id convallis. Duis bibendum
molestie tempus. Vivamus lacinia accumsan quam, at aliquam mauris ultrices at. Sed malesuada faucibus massa, lobortis pharetra diam accumsan a.
Curabitur dignissim nunc vitae erat laoreet a laoreet sem bibendum. Etiam eu varius erat. Integer porttitor porta tincidunt. Nam dictum tellus
bibendum tellus interdum ullamcorper. Phasellus justo lorem, semper in vehicula interdum, vestibulum ac purus. Integer hendrerit lectus at nisi luctus aliquet.
Donec consectetur nisi vel metus viverra porttitor vel non lectus. Proin eget enim sagittis ligula mattis posuere ut varius ligula. Mauris euismod
tempus sem nec pretium. Donec congue suscipit libero, id pretium dolor luctus sed. Donec sed metus id nulla tempor vulputate non vel nisl.
Vestibulum a turpis vitae leo commodo pulvinar eu vitae enim. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
I am currently working on a personal webpage and wanted to know if there is a way to write CSS code to create a new line whenever text covers half the page. I googled a lot and only came up with pointless background tips and tricks (at least for this issue.) Any help would be appreciated. Thanks!
In it's simplest form:
<div style="width:50%;">
Content here....
</div>
http://jsfiddle.net/1y70e1ms/
By applying a width to the content's container, you can force the text to wrap at a certain point. Widths can be defined in absolute units, like pixels, but also in relative units, like percentages.
This does not technically insert a newline in the content. Inserting a literal "newline character" (\n) actually would not have a visual impact on the page, because all consecutive whitespace (newlines, tabs, spaces, etc.) in HTML is always condensed into a single space.
If you want to insert a break tag (<br>) at certain points in the HTML, you cannot do this with CSS. CSS is a set of presentation rules, not a method of modifying the HTML markup. JavaScript can modify the rendered DOM, which (while not technically modifying the markup directly), modifies the final rendered HTML that a browser loads.
If you want to modify all of the markup, you will need to do it manually before publishing, or write a script to modify all of the files as text before publishing.
p {
width: 50%;
}
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris vestibulum in turpis non egestas. Nunc feugiat fermentum mi, vel pulvinar libero condimentum vel. Ut nisi est, consectetur ut lectus nec, mattis interdum nibh. Etiam ut interdum est. Nulla
dictum ornare risus et scelerisque. In sodales a sem in aliquet. Donec at luctus orci, nec hendrerit tortor. Integer feugiat a metus ac sollicitudin. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aliquam ac
erat ut sem congue aliquet. Ut tellus ligula, fringilla vel egestas ut, facilisis posuere urna. Praesent condimentum ipsum et sapien pretium bibendum. Praesent feugiat sem lacus, ut ultricies quam convallis quis. Cras malesuada nunc in velit iaculis,
vel tincidunt purus aliquet. Etiam tempus metus quis vulputate placerat. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Praesent posuere, erat ut sollicitudin accumsan, dui dui dapibus arcu, a tincidunt
ex neque vel lacus. Vestibulum pulvinar felis sit amet justo ultrices interdum. Vestibulum ultrices urna nec purus consectetur porta. Vestibulum id cursus turpis, eget iaculis erat. Proin efficitur pulvinar velit. Maecenas vel odio urna. Donec suscipit
placerat varius. Donec sapien ante, interdum et mauris id, egestas posuere lectus. Sed mauris nunc, finibus sed magna ac, consequat efficitur erat. Etiam dignissim velit ante, at bibendum urna cursus sit amet. Nullam suscipit blandit nulla vitae auctor.
Proin in tellus nibh. Praesent pellentesque sem nisl, at semper felis cursus a. Nullam tempor varius enim. Suspendisse pharetra at lectus sit amet maximus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Cum
sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Proin elementum pellentesque mollis. Fusce commodo commodo urna, in euismod est ornare a. Integer dictum aliquet velit. Aliquam erat volutpat. Sed dictum ligula at elementum
placerat. Integer eget consequat turpis, a bibendum risus. Nulla facilisi. Ut ac malesuada eros, bibendum cursus leo. Fusce non lacinia erat. Aenean quis euismod nulla, nec auctor lectus. Integer varius, turpis et volutpat iaculis, lectus enim ullamcorper
libero, ut ullamcorper sem ligula in mi. Fusce elementum, dui ac posuere cursus, nunc felis lacinia mi, et egestas turpis tellus eu erat. Donec pulvinar nibh id massa tristique, et maximus velit efficitur. Nam ullamcorper, eros et mattis vestibulum,
diam ligula dapibus eros, id hendrerit eros lorem eget mauris. Nullam tincidunt sit amet mauris et tincidunt. Vivamus semper sem in hendrerit consequat. Aenean laoreet, justo non egestas tristique, ligula enim venenatis ex, sed lobortis magna risus
at nulla. Donec vulputate mi nec urna euismod, vel pellentesque lacus rutrum. Aliquam condimentum lacus risus, non faucibus nulla tempor in. Ut fermentum fringilla dignissim. In auctor, nisi ut convallis lobortis, risus magna convallis erat, sit amet
imperdiet sapien dui ac erat. Vestibulum congue ut lorem in auctor. Maecenas bibendum eros ut sem dictum finibus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Curabitur eu justo quis diam mollis pretium
gravida sed felis.
</p>